如何使用Java建立目錄層次結構?
java.io 包中的名為**File**的類表示系統中的檔案或目錄(路徑名)。此類提供各種方法來對檔案/目錄執行各種操作。
此類的**mkdir()**方法建立一個由當前物件表示的路徑的目錄。
建立目錄層次結構
在 Java 中建立目錄層次結構主要有兩種方法:
- 使用 mkdirs() 方法
- 使用 createDirectories() 方法
讓我們逐一看看這些解決方案。
使用 mkdirs() 方法
要建立新的目錄層次結構,可以使用同一個類的**mkdirs()**方法。此方法建立由當前物件表示的路徑的目錄,包括不存在的父目錄。
示例
import java.io.File;
import java.util.Scanner;
public class CreateDirectory {
public static void main(String args[]) {
System.out.println("Enter the path to create a directory: ");
Scanner sc = new Scanner(System.in);
String path = sc.next();
System.out.println("Enter the name of the desired a directory: ");
path = path+sc.next();
//Creating a File object
File file = new File(path);
//Creating the directory
boolean bool = file.mkdirs();
if(bool) {
System.out.println("Directory created successfully");
}else {
System.out.println("Sorry couldn't create specified directory");
}
}
}
輸出
Enter the path to create a directory: D:\test\myDirectories\ Enter the name of the desired a directory: sample_directory Directory created successfully
如果驗證,您可以看到建立的目錄如下:

使用 createDirectories() 方法
從 Java 7 開始引入了 Files 類,它包含(靜態)方法,這些方法可對檔案、目錄或其他型別的檔案進行操作。
**createDirectories()**方法建立給定的目錄,包括不存在的父目錄。
示例
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.Scanner;
public class Demo {
public static void main(String args[]) throws IOException {
System.out.println("Enter the path to create a directory: ");
Scanner sc = new Scanner(System.in);
String pathStr = sc.next();
System.out.println("Enter the required directory hierarchy: ");
pathStr = pathStr+sc.next();
//Creating a path object
Path path = Paths.get(pathStr);
//Creating a directory
Files.createDirectories(path);
System.out.println("Directory hierarchy created successfully");
}
}
輸出
Enter the path to create a directory: D: Enter the required directory hierarchy: sample1/sample2/sapmle3/final_directory Directory hierarchy created successfully
如果驗證,您可以看到建立的目錄層次結構如下:

廣告
資料結構
網路
關係資料庫管理系統(RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP