ZetCode

在 Java 中创建目录

最后修改于 2024 年 1 月 27 日

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

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

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

Java 使用 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);

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

if (!Files.exists(path)) {

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

Files.createDirectory(path);

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

Java 使用 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 创建和读取目录 - 教程

在本文中,我们展示了如何在 Java 中创建目录。

作者

我叫 Jan Bodnar,是一位充满热情的程序员,拥有丰富的编程经验。 自 2007 年以来,我一直在撰写编程文章。 迄今为止,我已经撰写了 1,400 多篇文章和 8 本电子书。 我拥有超过十年的编程教学经验。

列出所有Java教程