在Java中创建临时文件
在Java中,我们可以使用称为File.createTempFile()方法的现有方法创建一个临时文件,该方法在指定目录上创建一个新的空文件。 createTempFile()函数在给定目录中创建一个临时文件(如果未提及该目录,则选择默认目录),该函数使用作为参数传递的前缀和后缀生成文件名。如果后缀为空,则该函数使用“.tmp”作为后缀。该函数然后返回创建的文件
场景:我们可以在两种场景中创建临时文件。
- createTempFile(前缀,后缀,目录)
- createTempFile(前缀,后缀,空)
方法 - 场景 1
此方法在指定目录中创建一个新的空文件,使用给定的前缀和后缀生成其名称。
句法:
public static File createTempFile(String prefix,String suffix,File directory)
参数:它需要 3 个参数 - 前缀、后缀和目录。
- 前缀:前缀字符串用于生成文件名,长度至少为三个字符。
- 后缀:后缀字符串用于生成文件名。可以是'.txt'或'null'。如果是'null',将使用“.tmp”。
- Directory:要在其中创建文件的目录,如果要使用默认的临时文件目录,则为 null。
返回类型:表示新创建的空文件的抽象路径名
例外:
- IllegalArgumentExpression:如果前缀参数包含少于三个字符。
- IOException: 如果无法创建文件。
- SecurityException:如果存在安全管理器并且其 SecurityManager 和checkWrite()方法不允许创建文件。
方法——场景 2
此方法在默认临时文件目录中创建一个新的空文件,使用给定的前缀和后缀生成其名称。调用此方法等效于调用createTempFile(prefix,suffix,null) 。
句法:
public static File createTempFile(String prefix,String suffix)
参数:它只需要两个参数-前缀和后缀
- Prefix:前缀字符串用于生成文件名,长度至少为三个字符
- 后缀: 后缀字符串用于生成文件名。可以是'.txt'或'null'。如果是'null',将使用“.tmp”
返回类型:表示新创建的空文件的抽象路径名
例外:
- 非法参数表达式: 如果前缀参数包含少于三个字符。
- IOException: 如果无法创建文件。
- SecurityException:如果存在安全管理器并且其 SecurityManager 和checkWrite()方法不允许创建文件。
例子
Java
// Java Program to Create a Temporary File in Java
// Importing all input output classes
import java.io.File;
import java.io.IOException;
// Class
public class GFG {
// Main driver method
public static void main(String[] args)
throws IOException
{
// Try block to check for exceptions
try {
// Step 1
// Creating temporary file with default location
// by creating an object of File type
File obj1 = File.createTempFile("temp", ".txt");
// Step 2
// Obtaining absolute path of the path
// returned by createTempfile() function
String path = obj1.getAbsolutePath();
// Step 3
// Print and display the default path of
// temporary file
System.out.println(
"Path of temporary file with default loaction:"
+ path);
// Step 4
// Creating temporary file with specified
// location again by creating another object of
// File type which is custom local directory
File obj2 = File.createTempFile(
"temp", ".txt",
new File(
"C:/Users/ASPIRE/Desktop/my folder"));
// Step 5
// Obtaining absolute path of the path
// returned by createTempfile() function
path = obj2.getAbsolutePath();
// Step 6
// Print and display the specified path of
// temporary file
System.out.println(
"Path of temporary file with specified location:"
+ path);
}
// Catch block to handle exception if occurs
catch (IOException e) {
// Print the line number where exception occur
// using printStackTrace() method
e.printStackTrace();
}
}
}
输出:
下面的快照也附加在本地计算机的这些目录中,如下所示:
在给定路径创建临时文件的情况
在默认路径创建临时文件的情况