我正在使用 POI 来阅读 Word 文档并提取表格。它适用于较小的文档,但对于较大的文档会出现堆外异常。
这是当前代码:
public List<XWPFTable> extractTables() throws FileNotFoundException, IOException {
InputStream fis = new FileInputStream(source);
XWPFDocument doc = new XWPFDocument(fis);
return doc.getTables();
}
它在 getTables() 调用中窒息。我看过类似的 excel 帖子,它们有一个只读访问器,但找不到类似的东西。我已经为应用程序提供了更多的堆空间,它有时可以工作。我猜这取决于可用的 RAM 量。我试图阻止它发生。用户迟早会尝试一个巨大的文档。
关于如何防止这种情况的任何想法?