Java – 创建临时文件

在许多情况下都可能需要在 Java 中创建一个临时文件,但是大多数情况下,它会发生在您不想存储结果的单元测试中。 一旦测试用例完成,您就不再关心文件内容。

使用java.io.File.createTempFile()创建临时文件

此示例是最简单,最推荐的解决方案。

public class TemporaryFileExample
{
   public static void main(String[] args)
   {
      File temp;
      try
      {
         temp = File.createTempFile("myTempFile", ".txt");

         System.out.println("Temp file created : " + temp.getAbsolutePath());
      } catch (IOException e)
      {
         e.printStackTrace();
      }
   }
}

Output:

Temp file created : C:\Users\lokesh\AppData\Local\Temp\myTempFile3492283537103788196.txt

使用 NIO 创建临时文件

public class TemporaryFileExample
{
   public static void main(String[] args)
   {
      try
      {
         final Path path = Files.createTempFile("myTempFile", ".txt");
         System.out.println("Temp file : " + path);

         //Delete file on exit
         path.toFile().deleteOnExit();

      } catch (IOException e)
      {
         e.printStackTrace();
      }
   }
}

实际上,在使用 Junit 进行单元测试的情况下,您也可以使用TemporaryFolderTemporaryFolder规则允许创建保证在测试方法完成时(无论通过还是失败)都将被删除的文件和文件夹。