我正在打开一个我用iText创建的PDF文件。无需在 PDF 渲染器中打开它,只需正常打开并关闭它,我就可以删除并覆盖文件。但是,一旦我使用 PDF 渲染器打开它,我就会关闭它。我无法删除或替换 PDF。
ByteBuffer buf;
...
randomAccessFile = new RandomAccessFile(new File(file), "r");
fileChannel = randomAccessFile.getChannel();
buf = fileChannel.map(FileChannel.MapMode.READ_ONLY, 0, fileChannel.size());
pdfFile = new PDFFile(buf);
然后,此处的代码获取图像并将其放入面板中。
然后我关闭上述项目。
它仍然在某处打开,但我不知道在哪里,任何帮助都值得赞赏。
错误似乎在未显示的其余部分(或关闭文件通道)。
PDFFile pdfFile = new PDFFile(new File(file));
PdfReader pdfReader = pdfFile.getPdfReader();
try {
...
} finally {
pdfReader.close();
}
你关闭文件吗?如果仍有打开的文件,Java 无法将其删除。