创建带前缀后缀的临时目录

时间:2019-07-02 15:00:30

标签: java

File tempDir;
tempDir = File.createTempFile("mda", ".temp");
tempDir.delete();
tempDir.mkdir();  // Noncompliant

上面的代码将生成一个词典,例如'mda3249275551502192003.temp',但是它将首先生成文件,然后删除该文件。我遇到类似“使用File.createTempFile作为创建临时目录的第一步的声纳问题”,这会导致争用情况,并且本质上是不可靠和不安全的。相反,Files.createTempDirectory(Java 7+)或类似Guava的库函数类似,应该使用名为Files.createTempDir的文件。”建议的解决方案如下。但是createTempDirectory只接受前缀并生成类似“ mda3249275551502192003”的内容,但是我想要“ mda3249275551502192003.temp”

Compliant Solution
Path tempPath = Files.createTempDirectory("mda");
File tempDir = tempPath.toFile();

0 个答案:

没有答案