java - Java中的临时文件名称自动更改

标签 java file

这是我的代码

File outFile = null;
System.out.println("###DEB name = " + name);
System.out.println("###DEB extension = " + rozszezenie);
System.out.println("###DEB dir = " + dir);
if(name.length() < 3)
     name = FILE_NAME_PREFIX;
outFile = File.createTempFile(name+"_", "." + rozszezenie, dir);
System.out.println("###DEB outFile = " + outFile.getName());

运行后给出输出:

###DEB name = BRAK;20160205;1016;501200911;tczelu
###DEB extension = ogg
###DEB dir = /tmp/tower_wind_tmp
###DEB outFile = BRAK;20160205;1016;501200911;tczelu_2859671049642865591.ogg

这些数字 (2859671049642865591) 从哪里来?

最佳答案

来自 createTempFile 的 Javadoc (强调我的):

Creates a new empty file in the specified directory, using the given prefix and suffix strings to generate its name.

这意味着此方法将生成一个名称,并且您无法提供自己的名称。

如果您想创建一个具有您自己名称的文件,那么您可能不想创建一个临时文件。相反,您应该使用 Files.createFile(path) 创建一个新文件。来自Java NIO.2 API ,或File#createNewFile()否则。

关于java - Java中的临时文件名称自动更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35656743/

相关文章:

java - 从java程序调用unix shell?从java程序的unix管道读取和写入稳定的数据流

java - 使用 StringBuffer 反转字符串中单词的代码

java - 将文件的文本作为字符串返回?

file - 将近 40 万张图像传输到 S3 的最有效方法

c# - 在 userfiles 文件夹中创建一个文件(C#、Windows 窗体)

java - 如何在android中重命名文件

java - 最好的 DRY if 语句?

java - NetBeans:为使用 JSObject 进行调试的 Applet 指定 html

java - XSSF表: Sheet index is out of range

c - 如何在c中读取文件中的单词后存储值