Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/382.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java deleteOnExit的替代方案_Java - Fatal编程技术网

Java deleteOnExit的替代方案

Java deleteOnExit的替代方案,java,Java,我想在一段时间后删除一些文件,比如说每天删除一次。使用deleteOnExit()是否是一个好的选择?还有其他建议吗 我有一些flash内容,这些内容通过读取存储在web服务器根目录中的一些xml文件来呈现其状态。这些xml是动态创建的。现在我想删除这些文件。如果我能使用java管理这些文件会更好。我个人会编写一个脚本,通过您的目录删除符合条件的文件(例如,24小时前)并通过cron作业运行。我可能会让它在服务器负载最低的时候运行。就我个人而言,我会编写一个脚本,通过您的目录删除符合条件的文件(

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


我有一些flash内容,这些内容通过读取存储在web服务器根目录中的一些xml文件来呈现其状态。这些xml是动态创建的。现在我想删除这些文件。如果我能使用java管理这些文件会更好。我个人会编写一个脚本,通过您的目录删除符合条件的文件(例如,24小时前)并通过cron作业运行。我可能会让它在服务器负载最低的时候运行。

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

java.io.File.createTempFile(prefix, suffix);
让该操作系统的临时文件管理决定销毁文件的策略


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

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

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

考虑使用来计划Java中的操作。您可以在重复计划中扫描目录中超过24小时的文件,或者为24小时后运行的每个文件创建新作业。

考虑使用来计划Java中的操作。您可以在重复计划中扫描目录中超过24小时的文件错误计划,或者为24小时后运行的每个文件创建一个新作业。

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

绝对避免file.deleteOnExit。我有一个例子,每次API调用都会多次调用它。基本上,它会将文件附加到一个文件列表中,以便在退出时清理。JVM从未退出,因为它是在web上运行的上下文。所以,我有一堆文件的内存泄漏一直挂在那里。设置一个cronjob或在完成后删除文件要好得多。

1。DeleteOnExit只在JVM出口2运行。它可能会导致巨大的内存问题,因为它在内存中存储了大量的文件缓存。3.您能详细说明这些文件的具体位置吗存储的线程、它们的用途及其多线程问题[CRON的问题]DeleteOnExit仅在JVM出口2处运行。它可能会导致巨大的内存问题,因为它在内存中存储了大量的缓存。3.您能否详细说明这些缓存的存储位置、用途以及其中的多线程问题[CRON的问题],等等。除非您运行的Windows对临时文件的策略为“不执行任何操作”,否则此操作有效。我否决了你的建议,因为许多操作系统中没有临时文件管理。例如,在Windows上,在Tomcat上运行时,这些都会转到Tomcat\temp,甚至不是%temp%。在Linux上,是的,它通常会转到/tmp子目录。Windows有临时文件管理,如果Tomcat选择不使用它,并不意味着它不存在。如果你不同意既然windows有临时文件管理,请告诉我,为什么你知道它是由%temp%变量控制的?没有%temp%的管理。请引用一个链接。除非你运行的windows对临时文件的策略是“什么都不做”,否则这是行得通的。我否决了你的建议,因为许多操作系统中没有临时文件管理。例如,在Windows上,在Tomcat上运行时,这些都会转到Tomcat\temp,甚至不是%temp%。在Linux上,是的,它通常会转到/tmp子目录。Windows有临时文件管理,如果Tomcat选择不使用它,并不意味着它不存在。如果你不同意既然windows有了临时文件管理,请告诉我,为什么你知道它是由%temp%变量控制的?没有%temp%的管理。请引用一个链接。