0

我正在打开一个我用 iText 创建的 PDF 文件。无需在 PDF Renderer 中打开它,只需正常打开并关闭它,我就可以删除并覆盖文件。但是,一旦我使用 PDF Renderer 打开它,我就会关闭它。我无法删除 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);

然后这里的代码获取图像并将其放入面板中。

然后我关闭上述项目。

它仍然在某个地方打开,但我不知道在哪里,感谢任何帮助。

4

2 回答 2

1

该错误似乎在未显示的其余部分(或关闭 fileChannel)中。

PDFFile pdfFile = new PDFFile(new File(file));
PdfReader pdfReader = pdfFile.getPdfReader();
try {
    ...
} finally {
    pdfReader.close();
}
于 2012-12-05T08:20:44.830 回答
0

你关闭文件吗?如果你还有一个打开的文件,Java 不能删除它。

于 2012-12-05T08:11:14.010 回答