java如何建立目录
创建目录的方法
使用 File 类的 mkdir() 或 mkdirs() 方法可以创建目录。mkdir() 只能创建单层目录,而 mkdirs() 可以创建多层目录。
import java.io.File;
public class CreateDirectory {
public static void main(String[] args) {
// 创建单层目录
File dir1 = new File("singleDir");
boolean isCreated1 = dir1.mkdir();
System.out.println("单层目录创建结果: " + isCreated1);
// 创建多层目录
File dir2 = new File("parentDir/childDir/grandchildDir");
boolean isCreated2 = dir2.mkdirs();
System.out.println("多层目录创建结果: " + isCreated2);
}
}
检查目录是否存在
在创建目录前,可以使用 exists() 方法检查目录是否已存在,避免重复创建。

File dir = new File("testDir");
if (!dir.exists()) {
boolean isCreated = dir.mkdir();
System.out.println("目录创建结果: " + isCreated);
} else {
System.out.println("目录已存在");
}
使用 NIO 的 Files.createDirectory
Java NIO 提供了 Files.createDirectory() 和 Files.createDirectories() 方法,功能与 File 类类似,但支持更多选项。

import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
public class CreateDirectoryNIO {
public static void main(String[] args) throws Exception {
// 创建单层目录
Path path1 = Paths.get("nioSingleDir");
Files.createDirectory(path1);
// 创建多层目录
Path path2 = Paths.get("nioParent/nioChild/nioGrandchild");
Files.createDirectories(path2);
}
}
处理异常
创建目录时可能会抛出 IOException,需要进行异常处理。
try {
Path path = Paths.get("exceptionDir");
Files.createDirectory(path);
} catch (IOException e) {
System.err.println("创建目录失败: " + e.getMessage());
}
设置目录权限
使用 NIO 可以在创建目录时设置权限,适用于需要控制访问的场景。
import java.nio.file.attribute.PosixFilePermissions;
import java.util.Set;
Path path = Paths.get("permissionDir");
Set<PosixFilePermission> permissions = PosixFilePermissions.fromString("rwxr-x---");
Files.createDirectory(path, PosixFilePermissions.asFileAttribute(permissions));






