我想创建一个临时文件(当应用程序关闭时会消失)并带有特定名称。我使用此代码:
f = File.createTempFile("tmp", ".txt", new File("D:/"));
这会产生类似D:\tmp4501156806082176909.txt
的内容。我想要D:\tmp.txt
。我怎么能这样做?
答案 0 :(得分:4)
在这种情况下,请勿使用createTempFile
。 createTempFile
的要点是生成“垃圾”名称以避免名称分类。
您应该使用File.createNewFile()
或只是写入文件。哪个更适合您的用例。然后,您可以调用File.deleteOnExit()
让VM在清理文件后进行检查。
答案 1 :(得分:3)
如果您只想创建tmp.txt
,则只需使用createNewFile()
而不是createTempFile()
创建文件。 createTempFile
用于创建临时文件,这些文件在反复创建时不应具有相同的名称。
另请查看this post,其中显示了一种创建文件的简单方法。
采取上述帖子:
String path = "C:"+File.separator+"hello"+File.separator+"hi.txt";
//(use relative path for Unix systems)
File f = new File(path);
//(works for both Windows and Linux)
f.mkdirs();
f.createNewFile();
答案 2 :(得分:1)
尝试正则表达式
fileName = fileName.replaceAll("\\d", "");