如何在 Java 中删除临时文件?
java 8object oriented programmingprogramming更新于 2025/4/26 21:52:17
java.io 包中的 File 类表示系统中的文件或目录(路径名)。此类提供各种方法来对文件/目录执行各种操作。
临时文件
在某些情况下(例如单元测试)或某些应用程序逻辑,您可能需要创建临时文件。
Java 中的 File 类提供了一个名为 createTempFile() 的方法。此方法接受两个 String 变量,分别表示临时文件的前缀(起始名称)和后缀(扩展名),以及一个 File 对象,表示需要在其中创建文件的目录(抽象路径)。
示例
以下 Java 示例在路径 D:/SampleDirectory 中创建一个名为 exampleTempFile5387153267019244721.txt
import java.io.File; import java.io.IOException; public class TempararyFiles { public static void main(String args[]) throws IOException { String prefix = "exampleTempFile"; String suffix = ".txt"; //为目录创建 File 对象 File directoryPath = new File("D:/SampleDirectory"); //创建临时文件 File.createTempFile(prefix, suffix, directoryPath); System.out.println("Temp file created........."); } }
输出
Temp file created.........
删除临时文件
您可以使用 File 类和 Files 类以两种方式删除临时文件。
使用 File 类
File 类提供了一个 delete() 方法,该方法可删除当前文件或目录,在临时文件上调用此方法。
示例
以下 Java 程序创建和删除临时文件。
import java.io.File; import java.io.IOException; public class TempararyFiles { public static void main(String args[]) throws IOException { String prefix = "exampleTempFile"; String suffix = ".txt"; //为目录创建 File 对象 File directoryPath = new File("D:/SampleDirectory"); //创建临时文件 File tempFile = File.createTempFile(prefix, suffix, directoryPath); System.out.println("Temp file created: "+tempFile.getAbsolutePath()); //删除文件 tempFile.delete(); System.out.println("Temp file deleted........."); } }
输出
Temp file created: D:\SampleDirectory\exampleTempFile7179732984227266899.txt Temp file deleted.........
使用 Files 类
与文件类一样,java.nio 包的 Files 类提供了 createTempFile() 方法,该方法接受两个表示前缀和后缀的 String 参数,并创建一个具有指定详细信息的临时文件。
此类的 delete() 方法接受路径对象并删除指定路径中的文件。
示例
以下 Java 程序使用 Files 类创建和删除临时文件。
import java.io.File; import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; public class TempararyFiles { public static void main(String args[]) throws IOException { String prefix = "exampleTempFile"; String suffix = ".txt"; //为目录创建 File 对象 File directoryPath = new File("D:/SampleDirectory"); //创建临时文件 Path tempFilePath = Files.createTempFile(prefix, suffix); System.out.println("Temp file created: "+tempFilePath.toString()); //删除文件 Files.deleteIfExists(tempFilePath); System.out.println("Temp file deleted........."); } }
输出
Temp file created: C:\Users\TUTORI~2\AppData\Local\Temp\exampleTempFile1192122004600989866.txt Temp file deleted.........