POI を使用して Word 文書を読み、表を抽出しています。小さいドキュメントでは正常に機能しますが、大きいドキュメントでは Out of Heap 例外が発生します。
現在のコードは次のとおりです。
public List<XWPFTable> extractTables() throws FileNotFoundException, IOException {
InputStream fis = new FileInputStream(source);
XWPFDocument doc = new XWPFDocument(fis);
return doc.getTables();
}
getTables() 呼び出しでチョークします。読み取り専用のアクセサーがある Excel の同様の投稿を見たことがありますが、単語のようなものを見つけることができませんでした。私はすでにアプリケーションに追加のヒープスペースを与えており、時々動作します。利用可能なRAMの量に応じて推測します。私はそれが起こらないようにしようとしています。ユーザーは遅かれ早かれ巨大なドキュメントを試すでしょう。
これを防ぐ方法について何か考えはありますか?