如何避免使用java删除Temp文件?

时间:2017-11-25 04:28:29

标签: java jvm

我有一个简单的代码来生成临时文件并存储一些值(我不想将文件存储在正常的存储区域) 将来,我想使用该文件并从该文件中获取数据(如果用户手动删除文件,则不会出现问题)。 但我不想自动删除文件。当阅读此链接时,我得到一些信息,一般不删除临时文件 当您显式调用deleteOnExit()但我的JVM完成自动删除的工作临时文件时。

//create a temp file
File temp = File.createTempFile("demo_", ".txt");
String path = temp.getParent();

//count the file which names starts with "demo"
File f = new File(path);
File[] matchingFiles = f.listFiles(new FilenameFilter() {
public boolean accept(File dir, String name) {
    return name.startsWith("demo") && name.endsWith(".txt");
}
});

// Print count array elements
    System.out.println("Length : " + matchingFiles.length + " ");

这里我从不调用deleteOnExit()(但文件自动删除)或JVM自动删除文件?顺便说一下,如果可能的话,它会被自动删除 避免删除文件?或任何其他方式来满足我的要求?

1 个答案:

答案 0 :(得分:1)

File.createTempFile只创建具有唯一名称的文件,而不仅仅是常规文件。它们不会自动删除。它在File.createTempFile API中进行了解释:此方法仅提供临时文件工具的一部分。要安排将此方法创建的文件自动删除,请使用deleteOnExit方法