java - 在屏幕上显示时删除 pdf 文件的安全方法

标签 java pdf

我有一个方法调用另一个方法,该方法打开已经保存的 pdf 文件,通过 swingutilities 线程机制进行屏幕显示。当它从给定的客户端路径打开 pdf 文件时,其余方法处理清除文件夹中的所有 pdf 文件。

我的问题是,如果我多次调用此方法同时打开多个 pdf 文件,在内存管理方面清理包含所有 pdf 文件的路径的最佳方法是什么。

我的代码片段如下所示:

public void fileSaveFinished(String filePath){
         openPDFReport(filePath); //display pdf to screen
         cleanFolderContent(folderPath, filePath); // It cleans folder contents except given filePath}

public void opendPDFReport(String filePath){


    SwingUtilities.invokeLater(new Runnable(){

        PDFFileLauncher.open(filePath);
     }

}

最佳答案

您的问题与共享资源有关。您要阅读 PDF 并将其删除。因此,您必须使用方法池并使用等待和通知方法来管理工作。等待文件读取操作未完成并通知相同的删除文件。有关等待和通知的更多详细信息,请参阅一些很好的教程。他们一定会解决您的问题。

关于java - 在屏幕上显示时删除 pdf 文件的安全方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15740900/

相关文章:

java - @Value 在 junit 5 中为 null

java - 扩展从 XML 模式生成的类是否安全?

java - Google Maps Geolocation API 只返回我数组中第一个塔的位置

java - iText 文档垂直对齐

android - 如何在 Android 6 上打开 pdf 文件

java - 对大矩阵(即 10,000 x 10,000)执行求逆

java - 通过反射获取固定泛型参数的父方法

javascript - 从请求响应创建 PDF 不适用于 axios 但适用于 native xhr

.net - PDF转换为黑白PNG

java - 使用 PDFBox 和 BouncyCaSTLe 签署 PDF