iTextを介して1000個のPDFファイルをマージしようとしています。メモリリークがどこで発生しているのかわかりません。以下はサンプルコードです。親ファイルにマージするとすぐに子pdfファイルを削除していることに注意してください。以下のコードのバグを指摘してください。または、メモリの概念なしでこれを行うより良い方法はありますか。このプロセスはサーブレットを介して行われます (スタンドアロン プログラムではありません)。
FileInputStream local_fis = null;
BufferedInputStream local_bis = null;
File localFileObj = null;
for(int taIdx=0;taIdx<totalSize;taIdx++){
frObj = (Form3AReportObject)reportRows.get(taIdx);
localfilename = companyId + "_" + frObj.empNumber + ".pdf";
local_fis = new FileInputStream(localfilename);
local_bis = new BufferedInputStream(local_fis);
pdfReader = new PdfReader(local_bis);
cb = pdfWriter.getDirectContent();
document.newPage();
page = pdfWriter.getImportedPage(pdfReader, 1);
cb.addTemplate(page, 0, 0);
local_bis.close();
local_fis.close();
localFileObj = new File(localfilename);
localFileObj.delete();
}
document.close();