有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

deleteOnExit的java替代方案

我想在一段时间后删除一些文件,比如说每天删除一次。为此使用deleteOnExit()是一个好选项吗?还有其他建议吗

我有一些flash内容,它通过读取存储在web服务器根目录中的一些xml文件来呈现其状态。这些XML是动态创建的。现在我想删除这些文件。如果我能用java来管理它会更好


共 (5) 个答案

  1. # 1 楼答案

    考虑使用{A1}来调度爪哇中的操作。您可以按照定期计划扫描目录中早于24小时的文件,也可以为24小时后运行的每个文件创建一个新作业

  2. # 2 楼答案

    一定要避免归档。deleteOnExit。我有一个issue,每次API调用我都会多次调用它。基本上,它会将文件附加到一个要在退出时清理的文件列表中。JVM从未退出,因为它是在web上下文中运行的。所以,我有一堆永远挂在那里的文件的内存泄漏。最好设置一个cronjob,或者在处理完文件后删除它

  3. # 3 楼答案

    java.io.File.createTempFile(prefix, suffix);
    

    让该操作系统的临时文件管理决定销毁文件的策略

  4. # 4 楼答案

    就我个人而言,我会编写一个脚本,通过你的目录删除符合条件的文件(例如24小时前的文件),并通过cron作业运行它。我可能会让它在服务器负载最低的时候运行

  5. # 5 楼答案

    deleteOnExit()的问题是,如果应用程序崩溃,文件将永远保留。我会运行一个线程定期清理临时目录(除了打开的文件)