gpt4 book ai didi

java - 您是否总是需要关闭新的 PDDocument 对象?

转载 作者:行者123 更新时间:2023-11-30 05:45:32 24 4
gpt4 key购买 nike

您是否只需要在加载/保存操作后或创建每个新的 PDDocument 对象后关闭 PDDocument(例如,在执行合并/拆分/...操作时)?

例如,我有 3 个从字节数组加载的 PDDocuments:

PDDocument pdf1 = PDDocument.load(bytearray1);
PDDocument pdf2 = PDDocument.load(bytearray2);
PDDocument pdf3 = PDDocument.load(bytearray3);

假设我然后将这 3 个 pdf 合并到一个 PDDocument 中:

PdfMergerUtility merger = new PdfMergerUtility();
PDDocument mergedPdf = new PDDocument();
mergedDocument.appendDocument(mergedPdf, pdf1);
mergedDocument.appendDocument(mergedPdf, pdf2);
mergedDocument.appendDocument(mergedPdf, pdf3);

我关闭了 3 个 pdf:

pdf1.close();
pdf2.close();
pdf3.close();

但是我现在还必须关闭 mergedPdf 还是不需要这样做?

mergedPdf.close(); // is this needed?

最佳答案

使用完所有 PDDocument 对象后,您应该关闭它们,还有 mergedPdf。这是一个很好的做法,可以避免内存泄漏。如果可能,请使用 try-with-resources。

关于java - 您是否总是需要关闭新的 PDDocument 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54913601/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com