我有一个简单的代码来生成临时文件并存储一些值(我不想将文件存储在正常的存储区域)
将来,我想使用该文件并从该文件中获取数据(如果用户手动删除文件,则不会出现问题)。
但我不想自动删除文件。当阅读此链接时,我得到一些信息,一般不删除临时文件
当您显式调用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自动删除文件?顺便说一下,如果可能的话,它会被自动删除
避免删除文件?或任何其他方式来满足我的要求?
答案 0 :(得分:1)
File.createTempFile只创建具有唯一名称的文件,而不仅仅是常规文件。它们不会自动删除。它在File.createTempFile API中进行了解释:此方法仅提供临时文件工具的一部分。要安排将此方法创建的文件自动删除,请使用deleteOnExit方法