java读取本地文件
- 格式:doc
- 大小:40.00 KB
- 文档页数:4
JAVA读取WORD文档解决方案在Java中读取Word文档需要使用特定的Java库或API来解析和处理Word文档格式(.doc或.docx)。
在下面的解决方案中,我们将介绍两种流行的Java库,即Apache POI和JavaFX的XSSF。
1. Apache POI:Apache POI是一个流行的开源Java库,用于处理Microsoft Office 格式的文件,包括Word文档。
下面是使用Apache POI库读取Word文档的步骤:1.1 添加Apache POI依赖库到项目中。
在Maven项目中,可以在pom.xml文件中添加以下依赖项:```xml<dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId><version>4.1.2</version></dependency><dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml</artifactId><version>4.1.2</version></dependency>```1.2 使用`XWPFDocument`类打开Word文档。
下面是一个示例代码:```javaFileInputStream fis = newFileInputStream("path/to/word/document.docx");XWPFDocument document = new XWPFDocument(fis);fis.close(;```1.3 使用`XWPFParagraph`类和`XWPFRun`类来遍历Word文档中的段落和文本。
Java读取TXT文件的多种方式按行读取TXT文件package zc;import java.io.BufferedReader;import java.io.File;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.IOException;public class readLine {public static void main(String[] args) {// TODO Auto-generated method stubFile file = new File("C:/zc.txt");BufferedReader reader = null;String tempString = null;int line =1;try {System.out.println("以行为单位读取文件内容,一次读一整行:");reader = new BufferedReader(new FileReader(file));while ((tempString = reader.readLine()) != null) {System.out.println("Line"+ line + ":" +tempString);line ++ ;}reader.close();} catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch block e.printStackTrace();}finally{if(reader != null){try {reader.close();} catch (IOException e) {// TODO Auto-generated catch block e.printStackTrace();}}}}}按字节读取TXT文件package zc;import java.io.File;import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException;import java.io.InputStream;public class readerFileByChars {public static void main(String[] args) {// TODO Auto-generated method stubFile file = new File("c:/zc.txt");InputStream in = null;byte[] tempByte = new byte[1024];int byteread = 0;try {System.out.println("以字节为单位读取文件内容,一次读多个字节:");in = new FileInputStream(file);while ((byteread = in.read(tempByte)) != -1 ) {System.out.write(tempByte, 0, byteread);}} catch (FileNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}finally{if (in != null) {try {in.close();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}} }}。
Java如何读取文本文件Java具有简单性、面向对象、分布式、健壮性、安全性、平台的独立与可移植性、多线程、动态性等特点。
Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。
以下是店铺为大家搜索整理的如何读取文本文件,希望能给大家带来帮助!更多精彩内容请及时关注我们应届毕业生网!下面的代码是读取文本文件的例子,程序会读取text.txt文件,并将它的内容显示出来。
1 import java.io.BufferedReader;2 import java.io.File;3 import java.io.FileReader;4 import java.io.FileNotFoundException;5 import java.io.IOException;67 public class ReadTextFileExample8 {9 public static void main(String[] args)10 {11 File file = new File("test.txt");12 StringBuffer contents = new StringBuffer();13 BufferedReader reader = null;1415 try16 {17 reader = new BufferedReader(new FileReader(file));18 String text = null;1920 // repeat until all lines is read21 while ((text = reader.readLine()) != null)22 {23 contents.append(text)24 .append(System.getProperty(25 "line.separator"));26 }。
用Java读取Word文档由于Word的编码方式比较复杂,所以Word文档不可能通过流的方式直接读取;当然如果Word可以转化成TXT文件就可以直接读取了;目前读取Word比较好的开源工具是Poi及Jacob,感觉Poi读取功能要比Jacob略逊一筹,毕竟Jacob可以直接调用Word的COM组件;但是微软产品不开放源码,所以Jacob读取Word文档也只能是摸着石头过河,一点一点破解了。
Jacob读取Word内容,由于Word内容的复杂性,读取也是非常不方便的,目前可以有"按段落读取","按书签读取"及"按照表格读取"等几种形式。
示例讲解(通过Java FileReader,Jacob两种方式读取Word内容)一.通过java流读取Word内容复制代码1.import java.io.BufferedReader;2.import java.io.FileReader;3.import java.io.IOException;4.5.public class ReadWordByStream {6.public static void main(String[] args) throws IOException {7. String rowContent = new String();8. String content = new String();9. BufferedReader in = new BufferedReader(new FileReader("d:\\test3.doc"));10. while ((rowContent = in.readLine()) != null) {11.content = content + rowContent + "\n";12. }13. System.out.println(content.getBytes());14. System.out.println(new String(content.getBytes(),"utf-8"));//因为编码方式不同,不容易解析15. in.close();16.}17.18.}二.通过Jacob读取Word内容复制代码1.import com.jacob.activeX.ActiveXComponent;2.import Thread;3.import .Dispatch;4.import .Variant;5.6.public class WordReader {7.public static void main(String args[]) {8. ComThread.InitSTA();// 初始化com的线程9. ActiveXComponent wordApp = new ActiveXComponent("Word.Application"); // 启动word10. // Set the visible property as required.11. Dispatch.put(wordApp, "Visible", new Variant(true));// //设置word可见12. Dispatch docs = wordApp.getProperty("Documents").toDispatch();//所有文档窗口13.// String inFile = "d:\\test.doc";14.// Dispatch doc = Dispatch.invoke(docs,"Open",Dispatch.Method,15.// new Object[] { inFile, new Variant(false),new Variant(false) },//参数3,false:可写,true:只读16.// new int[1]).toDispatch();//打开文档17.18. Dispatch doc = Dispatch.call(docs, "Add").toDispatch(); //创建一个新文档19. Dispatch wordContent = Dispatch.get(doc, "Content").toDispatch(); //取得word文件的内容20. Dispatch font = Dispatch.get(wordContent, "Font").toDispatch();21. Dispatch.put(font, "Bold", new Variant(true)); // 设置为粗体22.Dispatch.put(font, "Italic", new Variant(true)); // 设置为斜体23.Dispatch.put(font, "Underline", new Variant(true));24.Dispatch.put(font, "Name", new Variant("宋体"));25.Dispatch.put(font, "Size", new Variant(14));26. for(int i=0;i<10;i++){//作为一个段落27.Dispatch.call(wordContent, "InsertAfter", "current paragraph"+i+" ");28. }29. for(int j=0;j<10;j++){//作为十个段落30. Dispatch.call(wordContent, "InsertAfter", "current paragraph"+j+"\r");31.}32. Dispatch paragraphs = Dispatch.get(wordContent, "Paragraphs")33. .toDispatch(); //所有段落34. int paragraphCount = Dispatch.get(paragraphs, "Count").getInt();35. System.out.println("paragraphCount:"+paragraphCount);36.37. for (int i = 1; i <= paragraphCount; i++) {38.Dispatch paragraph = Dispatch.call(paragraphs, "Item",39.new Variant(i)).toDispatch();40.Dispatch paragraphRange = Dispatch.get(paragraph, "Range")41..toDispatch();42.String paragraphContent = Dispatch.get(paragraphRange, "Text")43..toString();44.System.out.println(paragraphContent);45.//Dispatch.call(selection, "MoveDown");46. }47. // WordReader.class.getClass().getResource("/").getPath().substring+"test.doc";48. Dispatch.call(doc, "SaveAs","d:\\wordreader.doc");49. // Close the document without saving changes50. // 0 = wdDoNotSaveChanges51. // -1 = wdSaveChanges52. // -2 = wdPromptToSaveChanges53. ComThread.Release();//释放com线程54. Dispatch.call(docs, "Close", new Variant(0));55. docs = null;56. Dispatch.call(wordApp,"Quit");57. wordApp = null;58.}59.}用Java简单的读取word文档中的数据:第一步:下载tm-extractors-0.4.jar下载地址:/browser/elated-core/trunk/lib/tm-extractors-0.4.jar?rev =46并把它放到你的classpath路径下面。
java 读取本地文本文件的方法
在Java中,读取本地文本文件可以使用包中的Files类和Paths类。
以下是一个简单的示例代码,演示如何读取本地文本文件:
```java
import ;
import ;
import ;
import ;
public class ReadFileExample {
public static void main(String[] args) {
String filePath = "path/to/your/"; // 替换为你的文件路径
try {
List<String> lines = ((filePath));
for (String line : lines) {
(line);
}
} catch (IOException e) {
();
}
}
}
```
在上面的代码中,我们首先指定要读取的文件的路径。
然后,使用Files类的readAllLines()方法读取文件的全部内容,并将每行作为字符串存储在一个List中。
最后,我们遍历List并打印每行内容。
请注意,如果文件非常大,使用readAllLines()方法可能会导致内存不足的问题。
在这种情况下,可以考虑使用BufferedReader逐行读取文件,以减少内存的使用量。
java 根据路径获取文件方法Java是一种广泛应用于软件开发的高级编程语言。
在Java中,我们经常需要根据路径获取文件。
本文将介绍如何使用Java来实现这一功能,并提供一步一步的指导。
第一步:导入相关的Java类库要使用Java来获取文件,我们需要导入相关的Java类库。
在这个场景下,我们需要导入java.io类库中的File类。
在Java中,File类提供了一些方法来操作文件和目录。
要导入File类,我们可以在Java源文件的开头添加以下代码:javaimport java.io.File;第二步:创建File对象在Java中,要获取文件,我们需要先创建一个File对象。
File对象代表文件系统中的一个文件或目录。
我们可以使用其构造函数来创建一个File 对象,构造函数可以接受文件路径作为参数。
以下是一个创建File对象的示例代码:javaString path = "C:\\myFolder\\myFile.txt";File file = new File(path);在上面的示例中,我们创建了一个名为file的File对象,该对象代表了路径为C:\myFolder\myFile.txt的文件。
请注意,在Java中,文件路径使用双反斜杠(\)来表示文件分隔符。
第三步:检查文件是否存在在创建File对象后,我们可以使用其exists()方法来检查文件是否存在。
exists()方法返回一个布尔值,如果文件存在,则返回true,否则返回false。
以下是一个检查文件是否存在的示例代码:javaif (file.exists()) {System.out.println("文件存在");} else {System.out.println("文件不存在");}第四步:获取文件的绝对路径要获取文件的绝对路径,我们可以使用File对象的getAbsolutePath()方法。
java读取xml⽂件内容xml⽂件<?xml version="1.0" encoding="UTF-8"?><Object><student><stuName>张三</stuName><stuAddress>郑州</stuAddress><stuTel>111</stuTel></student><user><userName>aaa</userName><userAge>100</userAge><userSex>男</userSex></user><book><bookName>语⽂</bookName><bookAuthor>XXX</bookAuthor><bookPrice>100</bookPrice></book></Object>操作⽅法package com.xml;import java.io.File;import .URL;import java.util.List;import org.dom4j.Document;import org.dom4j.DocumentException;import org.dom4j.Element;import org.dom4j.io.SAXReader;import com.bean.Book;import com.bean.Student;import er;public class SaxXml {public static void main(String[] args) throws Exception {//File file=new File("config/student.xml");//获取dom树URL url=SaxDbXml.class.getClassLoader().getResource("student.xml");SAXReader sax=new SAXReader();//Document dom=sax.read(file);Document dom = sax.read(url);//获取dom树⾥⾯的根节点Element rootEle=dom.getRootElement();//获取根节点下的节点元素List<Element> eleList=rootEle.elements();//System.out.println(eleList.size());a//循环获取每个节点元素for(int i=0;i<eleList.size();i++){Element childEle=eleList.get(i);String name=childEle.getName();if(name.equalsIgnoreCase("student")){Student stu=new Student();//获取节点下⾯的⼦节点List<Element> childList=childEle.elements();for(int j=0;j<childList.size();j++){Element ele=childList.get(j);String eleName=ele.getName();if(eleName.equalsIgnoreCase("stuName")){stu.setStuName(ele.getText());//System.out.println(ele.getText());}else if(eleName.equalsIgnoreCase("stuAddress")){stu.setStuAddress(ele.getText());}else if(eleName.equalsIgnoreCase("stuTel")){stu.setStuTel(ele.getText());}}}else if(name.equalsIgnoreCase("user")){User user=new User();//获取⼦节点元素List<Element> userList=childEle.elements();for(int k=0;k<userList.size();k++){Element userEle=userList.get(k);//判断⼦节点元素的名称,进⾏相应的存值if(userEle.getName().equalsIgnoreCase("userName")){user.setUserName(userEle.getText());}else if(userEle.getName().equalsIgnoreCase("userSex")){ user.setUserSex(userEle.getText());}else if(userEle.getName().equalsIgnoreCase("userAge")){ user.setUserAge(userEle.getText());}}}else if(name.equalsIgnoreCase("book")){Book book=new Book();List<Element> bookList=childEle.elements();for(int k=0;k<bookList.size();k++){Element bookEle=bookList.get(k);String eleName=bookEle.getName();if(eleName.equalsIgnoreCase("bookName")){book.setBookName(bookEle.getText());}else if(eleName.equalsIgnoreCase("bookAuthor")){book.setBookAuthor(bookEle.getText());}else if(eleName.equalsIgnoreCase("bookPrice")){book.setBookPrice(bookEle.getText());}}}}}}。
java读取txt⽂件⼀、读取txt⽂件。
1、步骤 :①、创建⽂件句柄File file = new File(filePath);②、将⽂件内容读取到内存中new FileInputStream(file)③、封装数据 InputStreamReaderInputStreamReader read = new InputStreamReader(new FileInputStream(file), encoding)④、读取数据BufferedReader bufferedReader = new BufferedReader(read); 每⾏数据bufferedReader.readLine()2、场景: txt⽂件内容:123456...读取每⾏内容, 并将每⾏内容⽤ , 拼接成 123,456public class ReadTxt {public static void main(String[] args) {String filePath = "/Users/xupengwei/Downloads/test.txt";readTxtFile(filePath );}public static void readTxtFile(String filePath) {try {String encoding = "GBK";File file = new File(filePath);if (file.isFile() && file.exists()) { // 判断⽂件是否存在InputStreamReader read = new InputStreamReader(new FileInputStream(file), encoding);// 考虑到编码格式 BufferedReader bufferedReader = new BufferedReader(read);String lineTxt = null;StringBuffer sb = new StringBuffer();while ((lineTxt = bufferedReader.readLine()) != null) {sb.append(lineTxt);sb.append(",");}System.out.println(sb.toString());read.close();} else {System.out.println("找不到指定的⽂件");}} catch (Exception e) {System.out.println("读取⽂件内容出错");e.printStackTrace();}}}⼆、拓展...场景 : 正则匹配。
Java实现word⽂档在线预览,读取office(word,excel,ppt)⽂件想要实现word或者其他office⽂件的在线预览,⼤部分都是⽤的两种⽅式,⼀种是使⽤openoffice转换之后再通过其他插件预览,还有⼀种⽅式就是通过POI读取内容然后预览。
⼀、使⽤openoffice⽅式实现word预览主要思路是:1.通过第三⽅⼯具openoffice,将word、excel、ppt、txt等⽂件转换为pdf⽂件2.通过swfTools将pdf⽂件转换成swf格式的⽂件3.通过FlexPaper⽂档组件在页⾯上进⾏展⽰我使⽤的⼯具版本:openof:3.4.1swfTools:1007FlexPaper:这个关系不⼤,我随便下的⼀个。
推荐使⽤1.5.1JODConverter:需要jar包,如果是maven管理直接引⽤就可以操作步骤:1.office准备下载openoffice:从过往⽂件,其他语⾔中找到中⽂版3.4.1的版本下载后,解压缩,安装然后找到安装⽬录下的program ⽂件夹在⽬录下运⾏soffice -headless -accept="socket,host=127.0.0.1,port=8100;urp;" -nofirststartwizard如果运⾏失败,可能会有提⽰,那就加上 .\ 在运⾏试⼀下这样openoffice的服务就开启了。
2.将flexpaper⽂件中的js⽂件夹(包含了flexpaper_flash_debug.js,flexpaper_flash.js,jquery.js,这三个js⽂件主要是预览swf⽂件的插件)拷贝⾄⽹站根⽬录;将FlexPaperViewer.swf拷贝⾄⽹站根⽬录下(该⽂件主要是⽤在⽹页中播放swf⽂件的播放器)项⽬结构:页⾯代码:fileUpload.jsp<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>⽂档在线预览系统</title><style>body {margin-top:100px;background:#fff;font-family: Verdana, Tahoma;}a {color:#CE4614;}#msg-box {color: #CE4614; font-size:0.9em;text-align:center;}#msg-box .logo {border-bottom:5px solid #ECE5D9;margin-bottom:20px;padding-bottom:10px;}#msg-box .title {font-size:1.4em;font-weight:bold;margin:0 0 30px 0;}#msg-box .nav {margin-top:20px;}</style></head><body><div id="msg-box"><form name="form1" method="post" enctype="multipart/form-data" action="docUploadConvertAction.jsp"><div class="title">请上传要处理的⽂件,过程可能需要⼏分钟,请稍候⽚刻。
JAVA读取TXT⽂件、新建TXT⽂件、写⼊TXT⽂件1、创建TXT⽂件
按照正常的逻辑写就好
先定义⼀个⽂件给定⼀个路径——>判断这个路径上这个⽂件存不存在——>若不存在则建⽴,try/catch根据程序提⽰⾃动⽣成就好
2、读取TXT⽂件
思路1:
获得⼀个⽂件路径
以这个路径新建⼀个⽂件,判断这个⽂件是否以正常的⽂件格式存在着
以这个路径创建⼀个阅读缓冲器:FileInputStream——>InputStreamReader——>BufferedReader
逐⾏判断内容是否为空,将读取结果累加到⼀个字符串(result)上
释放缓冲器资源
思路2
与思路1近似,只是缓冲阅读器的构造⽅式不同,见红线部分,FileReader——>BufferedReader
3、写⼊TXT⽂件
思路1:
写⼊⽂件,需要先判断这个⽂件是否存在,如果不存在创建⼀下
使⽤FileWriter类中的⽅法写⼊内容,通过append参数来控制写⼊形式,当append为true时追加写⼊,当append为false时为覆盖写⼊ 关闭⽂件
思路2
对上⾯代码做下⾯调整,即利⽤BufferedWriter。
Java读取其下所有⽂件夹与⽂件路径的⽅法Java读取其下所有⽂件夹与⽂件的路径,具体内容如下如果在f:\aa⽂件夹中,有如下图的⽂件夹与⽂件:那么,在Java中,则如此读取f:/aa下的所有⽂件路径:1、⾸先由于⽤到了⽂件与容器类下的ArrayList,所以在开头要引⼊如下包:import java.io.*;import java.util.*;2、⽅法如下,其中File dirFile除了盘符,⽐如f:,以外,能够接受⼀切合法的路径。
由于盘符下含有⼀些系统⽂件,拒绝访问,因为读取盘符,可能会出现空指针异常。
//这⾥是仅仅查询当前路径下的所有⽂件夹、⽂件并且存放其路径到⽂件数组//由于遇到⽂件夹不查询其包含所有⼦⽂件夹、⽂件,因此没必要⽤到递归public static ArrayList<String> Dir(File dirFile) throws Exception {ArrayList<String> dirStrArr = new ArrayList<String>();if (dirFile.exists()) {//直接取出利⽤listFiles()把当前路径下的所有⽂件夹、⽂件存放到⼀个⽂件数组File files[] = dirFile.listFiles();for (File file : files) {//如果传递过来的参数dirFile是以⽂件分隔符,也就是/或者\结尾,则如此构造if (dirFile.getPath().endsWith(File.separator)) {dirStrArr.add(dirFile.getPath() + file.getName());} else {//否则,如果没有⽂件分隔符,则补上⼀个⽂件分隔符,再加上⽂件名,才是路径dirStrArr.add(dirFile.getPath() + File.separator+ file.getName());}}}return dirStrArr;}其上的⽅法,是不读取f:\aa下的新建⽂件夹下的xlsx,如果在读取的过程中,遇到⽂件夹要同时读取其包含所有⼦⽂件夹、⽂件时,则要⽤到递归,先设置⼀个全局的动态数组:public static ArrayList<String> dirAllStrArr = new ArrayList<String>();然后⽅法如下:public static void DirAll(File dirFile) throws Exception {if (dirFile.exists()) {File files[] = dirFile.listFiles();for (File file : files) {//如果遇到⽂件夹则递归调⽤。
在Java中,有几种主要的方法可以用来读取PDF文件:1.Apache PDFBox: Apache PDFBox是一个开源的Java库,用于处理PDF文档。
你可以使用它来读取、创建、修改PDF文件等。
它支持各种功能,例如提取文本、图像,添加水印,加密和解密PDF文件等。
2.iText: iText是一个用于处理PDF文件的商业库。
它提供了许多功能,如创建PDF文件、添加文本、图像、表格,以及读取、修改和加密PDF文件等。
3.jPDFBox: jPDFBox是另一个Java库,用于处理PDF文件。
它的功能包括读取PDF文件的内容,提取图像,添加书签等。
4.Batik: Apache Batik是一个用于处理PDF文件的工具集,它是ApacheXML Graphics Project的一部分。
除了处理PDF文件,Batik还支持SVG 文件。
5.Poppler: Poppler是一个用于渲染PDF文档的库。
Poppler基于Qt和Glib,并且是免费的。
Poppler可以用于显示PDF文件,也可以用于提取文本和图像。
Poppler通常与Evince一起使用,Evince是一个开源的PDF 阅读器。
6.PDFBox-Android: PDFBox-Android是Apache PDFBox的一个分支,专门为Android平台设计。
它支持大部分的PDFBox功能,并且针对Android进行了优化。
以上这些库都有自己的优缺点,你可以根据你的具体需求来选择适合你的库。
例如,如果你需要加密和解密PDF文件,那么iText可能更适合你。
如果你只需要读取PDF文件的内容,那么Poppler可能是一个更好的选择。
java如何通过url读取文件java如何通过url读取文件很多朋友都不知道java如何通过url读取文件,下面店铺为大家整理了java通过url读取文件内容,希望能帮到大家!复制代码代码如下:using System;using System.Collections;using ponentModel;using System.Data;using System.Drawing;using System.Web;using System.Web.SessionState;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.HtmlControls;using System.IO;using ;using System.Text;using System.Text.RegularExpressions;namespace eMeng.Exam{////// GetPageHtml 的`摘要说明。
///public class GetPageHtml : System.Web.UI.Page{protected System.Web.UI.WebControls.Button WebClientButton;protected System.Web.UI.WebControls.ButtonWebRequestButton;protected System.Web.UI.WebControls.TextBox ContentHtml;protected System.Web.UI.WebControls.TextBox UrlText;protected System.Web.UI.WebControls.Button GetText;private string PageUrl = "";private void Page_Load(object sender, System.EventArgs e) {}#region Web Form Designer generated codeoverride protected void OnInit(EventArgs e){InitializeComponent();base.OnInit(e);}////// 设计器支持所需的方法 - 不要使用代码编辑器修改/// 此方法的内容。
java file获取路径Java提供了多种方法来获取文件的路径,下面介绍几种常用的方法。
1.使用File类的getAbsolutePath()方法可以使用File类的getAbsolutePath()方法来获取文件的绝对路径。
示例代码如下:File file = new File('test.txt');String absolutePath = file.getAbsolutePath();2.使用File类的getCanonicalPath()方法可以使用File类的getCanonicalPath()方法来获取文件的规范路径。
示例代码如下:File file = new File('test.txt');String canonicalPath = file.getCanonicalPath();3.使用ClassLoader类的getResource()方法可以使用ClassLoader类的getResource()方法来获取类路径中的资源文件路径。
示例代码如下:String path =this.getClass().getClassLoader().getResource('test.txt').ge tPath();4.使用System.getProperty()方法可以使用System.getProperty()方法来获取应用程序的工作目录。
示例代码如下:String path = System.getProperty('user.dir') +File.separator + 'test.txt';以上就是四种Java中获取文件路径的方法,可以根据实际需求选择使用。
java读取⽂件内容,解析Json格式数据⽅式⽬录java读取⽂件内容,解析Json格式数据⼀、读取txt⽂件内容(Json格式数据)⼆、解析处理Json格式数据三、结果存⼊数据库四、测试java 读取txt⽂件中的json数据,进⾏导出以下代码可直接运⾏java读取⽂件内容,解析Json格式数据⼀、读取txt⽂件内容(Json格式数据)public static String reader(String filePath) {try {File file = new File(filePath);if (file.isFile() && file.exists()) {InputStreamReader read = new InputStreamReader(new FileInputStream(file), "UTF-8");BufferedReader bufferedReader = new BufferedReader(read);String lineTxt = bufferedReader.readLine();while (lineTxt != null) {return lineTxt;}}} catch (UnsupportedEncodingException | FileNotFoundException e) {System.out.println("Cannot find the file specified!");e.printStackTrace();} catch (IOException e) {System.out.println("Error reading file content!");e.printStackTrace();}return null;}⼆、解析处理Json格式数据private static void process(String txtStr) {JSONObject json = JSONObject.fromObject(txtStr);JSONArray datas = json.getJSONObject("data").getJSONArray("rows");List<Map<String, Object>> list = new ArrayList<>();for (int i = 0; i < datas.length(); i++) {Map<String, Object> map = new HashMap<>();JSONObject obj = datas.getJSONObject(i).getJSONObject("cells");String name = obj.getString("weibo_name");String code = obj.getString("weibo_id");String url = BASE_URL + obj.getString("url");map.put("name", name);map.put("code", code);map.put("url", url);list.add(map);}if (!list.isEmpty()) {insert(list);}}三、结果存⼊数据库private static void insert(List<Map<String, Object>> list) {for (Map<String, Object> map : list) {//遍历数据,写存储⽅法}}四、测试public static void main(String[] args) {String filePath = "E:\\wugang\\data\\weiboyi\\wechat.txt";String txtStr = reader(filePath);if (txtStr != null) {process(txtStr);} else {System.out.println("Read the content is empty!");}System.out.println("--- end ---");}java 读取txt⽂件中的json数据,进⾏导出txt⽂件中的内容如下以下代码可直接运⾏package com.hwt.count.test;import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.InputStreamReader;import java.util.ArrayList;import java.util.List;import ermodel.HSSFCell;import ermodel.HSSFCellStyle;import ermodel.HSSFFont;import ermodel.HSSFRow;import ermodel.HSSFSheet;import ermodel.HSSFWorkbook;import org.apache.poi.hssf.util.CellRangeAddress;import org.apache.poi.hssf.util.HSSFColor;import net.sf.json.JSONObject;public class Testaa {public static void main(String[] args) {try {String path = "C:/Users/dell/Desktop/test.txt";File file = new File(path);InputStreamReader isr = new InputStreamReader(new FileInputStream(file),"GBK");BufferedReader br = new BufferedReader(isr);String content = br.readLine() ;br.close();isr.close();content = content.substring(2, content.length()-2);content = content.replace("},{", ";");String[] arrContent = content.split(";");//设置列头名称和表体数据String[] rowsName = new String[]{"code_type","code","name"};List<Object[]> dataList = new ArrayList<Object[]>();for(String arrc : arrContent){JSONObject jsonObj = JSONObject.fromObject("{"+arrc+"}");String code = jsonObj.getString("code");String name = jsonObj.getString("name");Object[] obj = new Object[rowsName.length];obj[0] = "TYPE";obj[1] = code;obj[2] = name;dataList.add(obj);}//设置列头名称和表体数据HSSFWorkbook workbook = setWorkBookDate(dataList,rowsName);try {// 将workbook对象输出到⽂件test.xlsFileOutputStream fos = new FileOutputStream("C:/Users/dell/Desktop/test.xls");workbook.write(fos);fos.flush(); // 缓冲fos.close(); // 关闭流}catch (Exception e1) {e1.printStackTrace();}} catch (Exception e) {e.printStackTrace();}}private static HSSFWorkbook setWorkBookDate(List<Object[]> dataList,String[] rowsName){ //创建⼯作簿对象HSSFWorkbook workbook = new HSSFWorkbook();//创建⼯作表,设置当前页名称HSSFSheet sheet = workbook.createSheet("测试");//设置默认⾏⾼sheet.setDefaultRowHeight((short)350);//合并表头表尾的单元格/*sheet.addMergedRegion(new CellRangeAddress(0, 2, 0, 3));sheet.addMergedRegion(new CellRangeAddress(3, 3, 0, 3));//冻结⾏workbook.getSheetAt(0).createFreezePane(0, 4);RegionUtil.setBorderBottom(1, new CellRangeAddress(3, 3, 0, 3), workbook.getSheetAt(0), workbook);//设置边框*/ // 获取表头样式对象// 获取表体样式对象HSSFCellStyle style = getCommonStyle(workbook);// 定义所需列数int columnNum = rowsName.length;//创建列头HSSFRow rowHead = sheet.createRow(0);for(int n = 0;n < columnNum;n++){HSSFCell cellRow = rowHead.createCell(n,HSSFCell.CELL_TYPE_STRING);//创建列头对应个数的单元格cellRow.setCellValue(rowsName[n]);//设置列头单元格的值cellRow.setCellStyle(style);//设置列头单元格样式}//将查询出的数据设置到sheet对应的单元格中for(int i=0;i<dataList.size();i++){Object[] obj =new Object[dataList.get(i).length];obj[0] = dataList.get(i)[0];obj[1] = dataList.get(i)[1];obj[2] = dataList.get(i)[2];HSSFRow row = sheet.createRow(i+1);//创建所需的⾏数for(int j = 0; j < obj.length; j++){HSSFCell cell = row.createCell(j,HSSFCell.CELL_TYPE_STRING);//设置单元格的数据类型if(!"".equals(obj[j]) && obj[j] != null){cell.setCellValue(obj[j].toString());//设置单元格的值}else{cell.setCellValue("");//设置单元格的值为空字符串}cell.setCellStyle(style);//设置单元格样式}}//让列宽随着导出的列长⾃动适应for (int colNum = 0; colNum < columnNum; colNum++) {int columnWidth = sheet.getColumnWidth(colNum) / 256;for (int rowNum = 0; rowNum < sheet.getLastRowNum(); rowNum++) {HSSFRow currentRow;//当前⾏未被使⽤过if (sheet.getRow(rowNum) == null) {currentRow = sheet.createRow(rowNum);} else {currentRow = sheet.getRow(rowNum);}if (currentRow.getCell(colNum) != null) {HSSFCell currentCell = currentRow.getCell(colNum);if(currentCell != null && !"".equals(currentCell)){if (currentCell.getCellType() == HSSFCell.CELL_TYPE_STRING) {int length = currentCell.getStringCellValue().getBytes().length;if (columnWidth < length) {columnWidth = length;}}}}}if(colNum == 0){//设置表体第⼀列的宽度sheet.setColumnWidth(colNum, (columnWidth+4) * 400);}else{//设置表体其他列的宽度sheet.setColumnWidth(colNum, (columnWidth+4) * 400);}}return workbook;}public static HSSFCellStyle getCommonStyle(HSSFWorkbook workbook) {// 设置字体HSSFFont font = workbook.createFont();//设置字体⼤⼩font.setFontHeightInPoints((short)11);//字体加粗//font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);//设置字体名字font.setFontName("Courier New");//设置样式;HSSFCellStyle style = workbook.createCellStyle();//设置底边框;style.setBorderBottom(HSSFCellStyle.BORDER_THIN);//设置底边框颜⾊;style.setBottomBorderColor(HSSFColor.BLACK.index);//设置左边框;style.setBorderLeft(HSSFCellStyle.BORDER_THIN);//设置左边框颜⾊;style.setLeftBorderColor(HSSFColor.BLACK.index);//设置右边框;style.setBorderRight(HSSFCellStyle.BORDER_THIN);//设置右边框颜⾊;style.setRightBorderColor(HSSFColor.BLACK.index);//设置顶边框;style.setBorderTop(HSSFCellStyle.BORDER_THIN);//设置顶边框颜⾊;style.setTopBorderColor(HSSFColor.BLACK.index);//在样式⽤应⽤设置的字体;style.setFont(font);//设置⾃动换⾏;style.setWrapText(false);//设置⽔平对齐的样式为居中对齐;style.setAlignment(HSSFCellStyle.ALIGN_CENTER);//设置垂直对齐的样式为居中对齐;style.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);return style;}}以上为个⼈经验,希望能给⼤家⼀个参考,也希望⼤家多多⽀持。
java读取word⽂档,提取标题和内容的实例使⽤的⼯具为poi,需要导⼊的依赖如下<dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId><version>3.17</version></dependency><dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml</artifactId><version>3.17</version></dependency><dependency><groupId>org.apache.poi</groupId><artifactId>poi-scratchpad</artifactId><version>3.17</version></dependency><dependency><groupId>org.apache.poi</groupId><artifactId>ooxml-schemas</artifactId><version>1.1</version></dependency><dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml-schemas</artifactId><version>3.17</version></dependency>我采⽤的分离⽅式是根据字体⼤⼩判断。
Java读取本地json⽂件及相应处理⽅法如下所⽰://读取json⽂件地址/* String path = getClass().getClassLoader().getResource("menu.json").toString();path = path.replace("\\", "/");if (path.contains(":")) {path = path.replace("file:/", "");}*/ClassPathResource resource = new ClassPathResource("menu.json");File filePath = resource.getFile();JSONArray btnArray = null;//读取⽂件String input = FileUtils.readFileToString(filePath, "UTF-8");//将读取的数据转换为JSONObjectJSONObject jsonObject = JSONObject.fromObject(input);if (jsonObject != null) {//取出按钮权限的数据btnArray = jsonObject.getJSONArray("btnList");}Map<String, List<MenuVo>> btnMap = new HashMap<>();Iterator<Object> num = btnArray.iterator();//遍历JSONArray,转换格式。
按按钮集合按模块(name)放⼊map中while (num.hasNext()) {JSONObject btn = (JSONObject) num.next();btnMap.put((String) btn.get("name"), JSONArray.toList((JSONArray) btn.get("children"), new MenuVo(), new JsonConfig())); }json⽂件{"btnList": [{"name": "⽤户管理","children": [{"id": "yhgladd","name": "添加"},{"id": "yhgledit","name": "编辑"},{"id": "yhgldelete","name": "暂停"},{"id": "yhglstart","name": "启⽤"},{"id": "yhglsee","name": "查看"}]},{"name": "⾓⾊管理","children": [{"id": "jsgladd","name": "添加"},{"id": "jsgledit","name": "编辑"},{"id": "jsglauth","name": "授权"},{"id": "jsgldelete","name": "删除"}]}]}以上这篇Java读取本地json⽂件及相应处理⽅法就是⼩编分享给⼤家的全部内容了,希望能给⼤家⼀个参考,也希望⼤家多多⽀持。
package tools;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
public class Dome {
public static void main(String[] args) throws FileNotFoundException { // 读取文件的位置
File file = new File("D:/java/answer/src/fiel.txt");
// 输出文件的位置
File brs = new File("C:/sss.txt");
BufferedWriter out = null;
BufferedReader br = null;
try {
br = new BufferedReader(new FileReader(file));
out = new BufferedWriter(new FileWriter(brs));
int i = 0;
Integer index = 0;
while (br.ready()) {
String str = br.readLine();
if (i % 3 == 0) {
StringBuffer bf = new StringBuffer(str);
String st = bf.substring(bf.indexOf(".") + 1, stIndexOf(")"));
String ok = st.substring(st.indexOf("(") + 1, st.length());
String sts = st.substring(0, st.indexOf("("));
System.out.print(sts + "\t");
out.write(sts.trim() + "\t");
if (ok.trim().equals("A")) {
index = 1;
} else if (ok.trim().equals("B")) {
index = 2;
} else if (ok.trim().equals("C")) {
index = 3;
} else {
index = 4;
}
} else if (i % 1 == 0) {
if (str.contains("A") & str.contains("B")) {
System.out.print(str.substring(str.indexOf("A.") + 2,str.indexOf("B")) + "\t");
out.write(str.substring(str.indexOf("A.") + 2,str.indexOf("B")).trim()+ "\t");
System.out.print(str.substring(str.indexOf("B.") + 2,str.length()) + "\t");
out.write(str.substring(str.indexOf("B.") + 2,str.length()).trim()+ "\t");
} else {
System.out.print(str.substring(str.indexOf("C.") + 2,str.indexOf("D")) + "\t");
out.write(str.substring(str.indexOf("C.") + 2,str.indexOf("D")).trim()+ "\t");
System.out.print(str.substring(str.indexOf("D.") + 2,str.length()) + "\t");
out.write(str.substring(str.indexOf("D.") + 2,str.length()).trim()+ "\t");
System.out.println(index);
out.write(index.toString());
out.newLine();
}
}
i++;
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if(out !=null){
out.flush();
out.close();
}
if(br !=null)
br.close();
} catch (Exception e2) {
e2.printStackTrace();
}
}
}
}
用于提取考试题,只提取问题、答案、对应的正确答案
1.学习秘书实务的根本目的是(D )1-10
A. 掌握秘书专业知识
B. 提高秘书办事能力
C. 获得秘书职业资格
D. 培养学生专业素质
2.秘书学与应用写作学的关系是(D )1-10
A. 包容关系
B. 并列关系
C. 虚实关系
D. 交叉关系
3.秘书活动的随机性,决定了秘书工作( C )2-23
A. 必须规范性
B. 必须程序性
C. 不可预测性
D. 不可计划性
MYSQL
用LOAD DATA INFILE命令批量把数据添加到数据库中
语法:
LOAD DATA INFILE “文件本地地址例如:C:/xxxx.txt" INTO TABLE tableName;
OR
LOAD DATA INFILE “文件本地地址例如:C:/xxxx.txt" INTO TABLE tableName(column1,column2…………);。