一尘不染

如何在Java中创建一个临时目录/文件夹?

java

是否存在在Java应用程序中创建临时目录的标准可靠方法?Java的问题数据库中有一个条目,注释中包含一些代码,但是我想知道在一个常用的库(Apache Commons等)中是否可以找到一种标准的解决方案?


阅读 1817

收藏
2020-03-09

共1个答案

一尘不染

如果你使用的是JDK 7,请使用新的Files.createTempDirectory类创建临时目录。

Path tempDirWithPrefix = Files.createTempDirectory(prefix);

在JDK 7之前,应该这样做:

public static File createTempDirectory()
    throws IOException
{
    final File temp;

    temp = File.createTempFile("temp", Long.toString(System.nanoTime()));

    if(!(temp.delete()))
    {
        throw new IOException("Could not delete temp file: " + temp.getAbsolutePath());
    }

    if(!(temp.mkdir()))
    {
        throw new IOException("Could not create temp directory: " + temp.getAbsolutePath());
    }

    return (temp);
}

如果需要,可以提出更好的异常(IOException子类)。

2020-03-09