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 directoryPath = new File("D:/SampleDirectory");
//创建一个临时文件
File.createTempFile(prefix, suffix, directoryPath);
System.out.println("Temp file created.........");
}
}
输出结果Temp file created.........
删除临时文件
您可以使用File类以及使用Files类这两种方式删除临时文件。
使用文件类
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类
就像File类一样,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.........