Как создать каталог на 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)