使用PDF Renderer打开后无法删除pdf文件

时间:2012-12-04 23:38:28

标签: java pdf pdfrenderer

我正在打开使用iText创建的PDF文件。如果不在PDF Renderer中打开它,只是正常打开并关闭它,我可以删除并覆盖该文件。但是,一旦我使用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);
然后

代码获取图像并将其放入面板中。

然后我关闭上面的项目。

它仍在某处打开,但我无法弄清楚在哪里,任何帮助都会受到赞赏。

2 个答案:

答案 0 :(得分:1)

错误似乎在未示出的休息中(或关闭fileChannel)。

PDFFile pdfFile = new PDFFile(new File(file));
PdfReader pdfReader = pdfFile.getPdfReader();
try {
    ...
} finally {
    pdfReader.close();
}

答案 1 :(得分:0)

你关闭文件了吗?如果您仍有Open文件,则Java无法删除它。