Как создать каталог на Java

Как создать каталог на Java

Для создания каталога на Java используется следующий код:

1. Стандартный пакет ввода-вывода Java -java.io.File

1.1 Create a single directory.

new File("C:\\Directory1").mkdir();

1.2 Create a directory named “Directory2 and all its sub-directories “Sub2” and “Sub-Sub2” together.

new File("C:\\Directory2\\Sub2\\Sub-Sub2").mkdirs()

P.S Both method mkdir() and mkdirs() are returning a boolean value to indicate the operation status : true if succeed, false otherwise.

2. Для JDK 7 попробуйте пакет Java NIO -java.nio.file.Paths иjava.nio.file.Files

Path path = Paths.get("C:\\Directory1");
Files.createDirectories(path);

1. Пример ввода-вывода Java

Классический пример каталога ввода-вывода Java: проверьте, существует ли каталог, если нет, затем создайте его.

CreateDirectoryExample.java

package com.example.file;

import java.io.File;

public class CreateDirectoryExample {

    public static void main(String[] args) {

        File file = new File("C:\\Directory1");
        if (!file.exists()) {
            if (file.mkdir()) {
                System.out.println("Directory is created!");
            } else {
                System.out.println("Failed to create directory!");
            }
        }

        File files = new File("C:\\Directory2\\Sub2\\Sub-Sub2");
        if (!files.exists()) {
            if (files.mkdirs()) {
                System.out.println("Multiple directories are created!");
            } else {
                System.out.println("Failed to create multiple directories!");
            }
        }

    }

}

2. Пример Java NIO

Классы Java NIO добавлены в JDK 7.

CreateDirectoryExample.java

package com.example.file;

import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;

public class CreateDirectoryExample {
    public static void main(String[] args) {

        Path path = Paths.get("C:\\Directory2\\Sub2\\Sub-Sub2");
        //if directory exists?
        if (!Files.exists(path)) {
            try {
                Files.createDirectories(path);
            } catch (IOException e) {
                //fail to create directory
                e.printStackTrace();
            }
        }

    }

}

Если каталог не создается, будет выброшеноIOException, например

java.nio.file.AccessDeniedException: /directory-name
    at sun.nio.fs.UnixException.translateToIOException(UnixException.java:84)
    at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102)
    at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:107)
    at sun.nio.fs.UnixFileSystemProvider.createDirectory(UnixFileSystemProvider.java:384)
    at java.nio.file.Files.createDirectory(Files.java:674)
    at java.nio.file.Files.createAndCheckIsDirectory(Files.java:781)
    at java.nio.file.Files.createDirectories(Files.java:767)