java - 使用 PDF 渲染器打开后无法删除 pdf 文件

标签 java pdf pdfrenderer

我正在打开一个使用 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);

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

然后我关闭上述项目。

它仍然在某处打开,但我不知道在哪里,非常感谢任何帮助。

最佳答案

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

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

关于java - 使用 PDF 渲染器打开后无法删除 pdf 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13713919/

相关文章:

java - 在java中制作混合二维数组

javascript - 在 PDF 中运行的 JavaScript 可以访问下载它的域吗?

python-3.x - 如何在JupyterLab中解决 'nbconvert failed: Inkscape svg to pdf conversion failed`

android - 来自缓冲区字节数组的pdfrender android parcefiledescriptor

Java SSL 错误 403 禁止访问

Java ACM 包

android - PDFRenderer 无法显示文件

java - 不希望 Listactivity 的项目之间存在距离

php - 从 php/linux 获取 pdf 的布局模式(横向或纵向)