原文:http://zetcode.com/java/createdirectory/

在 Java 创建目录教程中,我们展示了如何在 Java 中创建目录。 我们还将展示如何在 POSIX 系统上设置目录权限。

计算机目录是一种组织文件系统结构,其中包含文件和其他可选目录。

java.nio.file.Files类包含对文件,目录或其他类型的文件进行操作的静态方法。

使用Files.createDirectory创建目录

Files.createDirectory()创建一个新目录。 如果文件已经存在,则抛出FileAlreadyExistsException

JavaCreateDirectory.java

  1. package com.zetcode;
  2. import java.io.IOException;
  3. import java.nio.file.Files;
  4. import java.nio.file.Path;
  5. import java.nio.file.Paths;
  6. public class JavaCreateDirectory {
  7. public static void main(String[] args) throws IOException {
  8. String fileName = "/home/janbodnar/tmp/newdir";
  9. Path path = Paths.get(fileName);
  10. if (!Files.exists(path)) {
  11. Files.createDirectory(path);
  12. System.out.println("Directory created");
  13. } else {
  14. System.out.println("Directory already exists");
  15. }
  16. }
  17. }

该示例使用Files.createDirectory()创建一个新目录。

  1. String fileName = "/home/janbodnar/tmp/newdir";
  2. Path path = Paths.get(fileName);

从文件名创建一个PathPath是用于在文件系统中定位文件的 Java 对象。

  1. if (!Files.exists(path)) {

我们首先使用Files.exists()检查目录是否不存在。

  1. Files.createDirectory(path);

使用Files.createDirectory()创建目录。 该方法将路径对象作为参数。

使用Files.createDirectories创建目录

Files.createDirectories创建一个新目录; 如果父目录不存在,那么也会创建它们。 如果目录已经存在,则该方法不会引发异常。

JavaCreateDirectories.java

  1. package com.zetcode;
  2. import java.io.IOException;
  3. import java.nio.file.Files;
  4. import java.nio.file.Path;
  5. import java.nio.file.Paths;
  6. public class JavaCreateDirectories {
  7. public static void main(String[] args) throws IOException {
  8. String fileName = "/home/janbodnar/docs/memos";
  9. Path path = Paths.get(fileName);
  10. Files.createDirectories(path);
  11. }
  12. }

该示例使用Files.createDirectories()创建一个新目录。

Java 创建具有权限的目录

使用PosixFilePermissions,我们可以创建一个新目录并设置其权限。 请注意,此类不能用于 Windows 系统。

JavaCreateFileEx3.java

  1. package com.zetcode;
  2. import java.io.IOException;
  3. import java.nio.file.Files;
  4. import java.nio.file.Path;
  5. import java.nio.file.Paths;
  6. import java.nio.file.attribute.FileAttribute;
  7. import java.nio.file.attribute.PosixFilePermission;
  8. import java.nio.file.attribute.PosixFilePermissions;
  9. import java.util.Set;
  10. public class JavaCreateDirectoryWithPermissions {
  11. public static void main(String[] args) throws IOException {
  12. String fileName = "/home/janbodnar/tmp/newdir";
  13. Path mypath = Paths.get(fileName);
  14. if (!Files.exists(mypath)) {
  15. Set<PosixFilePermission> permissions = PosixFilePermissions.fromString("rwxr--r--");
  16. FileAttribute<Set<PosixFilePermission>> fileAttributes = PosixFilePermissions.asFileAttribute(permissions);
  17. Files.createDirectory(mypath, fileAttributes);
  18. System.out.println("Directory created");
  19. } else {
  20. System.out.println("Directory already exists");
  21. }
  22. }
  23. }

该示例使用指定的权限创建一个新目录。

在本教程中,我们展示了如何用 Java 创建目录。 您可能也对相关教程感兴趣: Java 创建文件用 Java 复制文件Java 文件大小读取 Java 中的文本文件Apache FileUtils教程Java Swing 教程Java 教程用 Java 显示图像