对于大型的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");
答案 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