我使用的Apache POI实用程序(POI暂存器-3.9.jar和相关的3.9版本POI罐子)转换成DOC文件txt.it为TXT工作与大多数的文件,但我得到一个异常就像如下获取java.lang.IndexOutOfBoundsException转换DOC文件时,使用Apache POI
java.lang.IndexOutOfBoundsException: 0 not accessible in a list of length 0
at org.apache.poi.util.IntList.get(IntList.java:346)
at org.apache.poi.poifs.storage.BlockAllocationTableReader.fetchBlocks(BlockAllocationTableReader.java:224)
at org.apache.poi.poifs.storage.BlockListImpl.fetchBlocks(BlockListImpl.java:123)
at org.apache.poi.poifs.storage.SmallDocumentBlockList.fetchBlocks(SmallDocumentBlockList.java:30)
at org.apache.poi.poifs.filesystem.POIFSFileSystem.processProperties(POIFSFileSystem.java:521)
at org.apache.poi.poifs.filesystem.POIFSFileSystem.<init>(POIFSFileSystem.java:163)
at org.apache.poi.hwpf.HWPFDocumentCore.verifyAndBuildPOIFS(HWPFDocumentCore.java:106)
at org.apache.poi.hwpf.HWPFDocument.<init>(HWPFDocument.java:174)
守则是继
fileInputStream = new FileInputStream(file.getAbsolutePath());
// A HWPFDocument used to read document file from FileInputStream
HWPFDocument doc = new HWPFDocument(fileInputStream);
// A WordExtractor used to read textual content from document
WordExtractor docExtractor = new WordExtractor(doc);
// This Array stores each line from the document file.
String[] docArray = docExtractor.getParagraphText();
StringBuilder contents = new StringBuilder();
for (int i = 0; i < docArray.length; i++) {
if (docArray[i] != null) {
contents.append(docArray[i]);
contents.append(System.getProperty("line.separator"));
}
}
isConverted = FileDirectoryOperations.writeTextOutputFile(targetFilePath, contents.toString());
我们正在线越来越例外HWPFDocument doc = new HWPFDocument(fileInputStream);
做我们对此有任何修正。
请分享您的意见。
在此先感谢。
Sourabh
您可以发布您的代码? – Bhushan