我使用的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