如何使用BufferedInputStream在Java 7中读取大型Microsoft Word文档?

时间:2015-04-06 20:19:20

标签: java bufferedinputstream

对于大型的Microsoft Word文件,是否可以使用this问题的解决方案?

换句话说,如果我替换" file.txt"以下代码是否可行;下面用" file.doc" ?

final InputStream in = new BufferedInputStream(new FileInputStream("file.txt"));
final long start = System.currentTimeMillis();
int cnt = 0;
final byte[] buf = new byte[1000];
while (in.read(buf) != -1) cnt++;
in.close();
System.out.println("Elapsed " + (System.currentTimeMillis() - start) + " ms");

2 个答案:

答案 0 :(得分:0)

首先尝试将.doc(二进制)转换为.docx(xml) - 理想情况下使用MS中的某些cmd行实用程序。

然后用于解析的库(我不熟悉Apache Tika)可以使用一些XML解析器(SAX),它非常适合处理大型文件,或者你甚至可以自己解析它(XML表示是可读的)。

答案 1 :(得分:0)

你试过吗

Path filePath = Paths.get("Your File Path", "Your File Name");
byte[] bytes = Files.readAllBytes(filePath);

供参考 http://www.java2s.com/Tutorials/Java/java.nio.file/Files/Java_Files_readAllBytes_Path_path_.htm