在 Java 创建目录教程中,我们展示了如何在 Java 中创建目录。 我们还将展示如何在 POSIX 系统上设置目录权限。
计算机目录是一种组织文件系统结构,其中包含文件和其他可选目录。
java.nio.file.Files
类包含对文件,目录或其他类型的文件进行操作的静态方法。
使用Files.createDirectory
创建目录
Files.createDirectory()
创建一个新目录。 如果文件已经存在,则抛出FileAlreadyExistsException
。
JavaCreateDirectory.java
package com.zetcode;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
public class JavaCreateDirectory {
public static void main(String[] args) throws IOException {
String fileName = "/home/janbodnar/tmp/newdir";
Path path = Paths.get(fileName);
if (!Files.exists(path)) {
Files.createDirectory(path);
System.out.println("Directory created");
} else {
System.out.println("Directory already exists");
}
}
}
该示例使用Files.createDirectory()
创建一个新目录。
String fileName = "/home/janbodnar/tmp/newdir";
Path path = Paths.get(fileName);
从文件名创建一个Path
。 Path
是用于在文件系统中定位文件的 Java 对象。
if (!Files.exists(path)) {
我们首先使用Files.exists()
检查目录是否不存在。
Files.createDirectory(path);
使用Files.createDirectory()
创建目录。 该方法将路径对象作为参数。
使用Files.createDirectories
创建目录
Files.createDirectories
创建一个新目录; 如果父目录不存在,那么也会创建它们。 如果目录已经存在,则该方法不会引发异常。
JavaCreateDirectories.java
package com.zetcode;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
public class JavaCreateDirectories {
public static void main(String[] args) throws IOException {
String fileName = "/home/janbodnar/docs/memos";
Path path = Paths.get(fileName);
Files.createDirectories(path);
}
}
该示例使用Files.createDirectories()
创建一个新目录。
Java 创建具有权限的目录
使用PosixFilePermissions
,我们可以创建一个新目录并设置其权限。 请注意,此类不能用于 Windows 系统。
JavaCreateFileEx3.java
package com.zetcode;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.attribute.FileAttribute;
import java.nio.file.attribute.PosixFilePermission;
import java.nio.file.attribute.PosixFilePermissions;
import java.util.Set;
public class JavaCreateDirectoryWithPermissions {
public static void main(String[] args) throws IOException {
String fileName = "/home/janbodnar/tmp/newdir";
Path mypath = Paths.get(fileName);
if (!Files.exists(mypath)) {
Set<PosixFilePermission> permissions = PosixFilePermissions.fromString("rwxr--r--");
FileAttribute<Set<PosixFilePermission>> fileAttributes = PosixFilePermissions.asFileAttribute(permissions);
Files.createDirectory(mypath, fileAttributes);
System.out.println("Directory created");
} else {
System.out.println("Directory already exists");
}
}
}
该示例使用指定的权限创建一个新目录。
在本教程中,我们展示了如何用 Java 创建目录。