方法一:使用 java.io.File
import java.io.File;
import java.io.IOException;
public class FileCreation {
public static void main(String[] args) {
// 包含文件名的路径
String path = "path/to/your/file.txt";
// 创建 File 对象
File file = new File(path);
// 检查文件是否存在
if (!file.exists()) {
// 获取父目录
File parentDir = file.getParentFile();
// 检查父目录是否存在,不存在则创建
if (!parentDir.exists()) {
if (parentDir.mkdirs()) {
System.out.println("父目录创建成功: " + parentDir.getAbsolutePath());
} else {
System.out.println("父目录创建失败: " + parentDir.getAbsolutePath());
return;
}
}
// 创建新文件
try {
if (file.createNewFile()) {
System.out.println("文件创建成功: " + file.getAbsolutePath());
} else {
System.out.println("文件创建失败: " + file.getAbsolutePath());
}
} catch (IOException e) {
System.out.println("文件创建时发生异常: " + e.getMessage());
}
} else {
System.out.println("文件已存在: " + file.getAbsolutePath());
}
}
}
方法二:使用 java.nio.file.Path
和 java.nio.file.Files
(Java 7 及以上)
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.io.IOException;
public class FileCreation {
public static void main(String[] args) {
// 包含文件名的路径
String path = "path/to/your/file.txt";
// 创建 Path 对象
Path filePath = Paths.get(path);
// 检查文件是否存在
if (Files.notExists(filePath)) {
// 获取父目录
Path parentDir = filePath.getParent();
// 检查父目录是否存在,不存在则创建
if (Files.notExists(parentDir)) {
try {
Files.createDirectories(parentDir);
System.out.println("父目录创建成功: " + parentDir.toAbsolutePath());
} catch (IOException e) {
System.out.println("父目录创建时发生异常: " + e.getMessage());
return;
}
}
// 创建新文件
try {
Files.createFile(filePath);
System.out.println("文件创建成功: " + filePath.toAbsolutePath());
} catch (IOException e) {
System.out.println("文件创建时发生异常: " + e.getMessage());
}
} else {
System.out.println("文件已存在: " + filePath.toAbsolutePath());
}
}
}
-
检查文件是否存在:
java.io.File
:使用file.exists()
方法检查文件是否存在。java.nio.file.Files
:使用Files.notExists(filePath)
检查文件是否不存在。
-
创建父目录:
java.io.File
:使用file.getParentFile().mkdirs()
方法创建父目录(如果需要)。java.nio.file.Files
:使用Files.createDirectories(parentDir)
方法创建父目录(如果需要)。
-
创建文件:
java.io.File
:使用file.createNewFile()
方法创建新文件。java.nio.file.Files
:使用Files.createFile(filePath)
方法创建新文件。