Javaでディレクトリを作成する方法
Javaでディレクトリを作成するには、次のコードを使用します。
1. 標準のJavaIOパッケージ–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 IOの例
従来のJava IOディレクトリの例では、ディレクトリが存在するかどうかを確認し、存在しない場合は作成します。
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)