Java – 删除临时文件

如果您的应用程序需要为某些应用程序逻辑或单元测试创​​建临时文件,那么您要确保在不需要这些临时文件时将其删除。 让我们学习如何在 Java 中删除临时文件。

使用 File.deleteOnExit()File.delete()删除临时文件

要在存在复制或完成复制时删除文件,可以使用:

File temp = File.createTempFile("myTempFile", ".txt"); 
temp.deleteOnExit();

要删除文件,可以立即使用delete()方法,而无需等待应用程序退出。

File temp = File.createTempFile("myTempFile", ".txt"); 
temp.delete();

删除临时文件的示例代码

import java.io.File;
import java.io.IOException;

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());

         //temp.delete(); //For deleting immediately

         temp.deleteOnExit(); //Delete on runtime exit

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

使用 NIO 将数据写入临时文件

如果要使用 Java NIO 库,则可以使用Files.delete()Files.deleteIfExists()方法。

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
         Files.deleteIfExists(path);

		 //Delete file immediately
		 Files.delete(path);	

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