如何在 Java 中(分层)创建目录?

从 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("输入创建目录的路径: ");
      Scanner sc = new Scanner(System.in);
      String pathStr = sc.next();      
      System.out.println("输入所需的目录层次结构: ");
      pathStr = pathStr+sc.next();      
      //创建路径对象
      Path path = Paths.get(pathStr);      
      //创建目录
      Files.createDirectories(path);      
      System.out.println("Directory hierarchy created successfully");
   }
}
输出结果
输入创建目录的路径:
D:
输入所需的目录层次结构:
sample1/sample2/sapmle3/final_directory
Directory hierarchy created successfully

如果您验证,您可以观察到创建的目录层次结构为 -

您还可以使用mkdirs()File 的方法创建新目录的层次结构。此方法使用当前对象表示的路径创建目录,包括不存在的父目录。

示例

import java.io.File;
import java.io.IOException;
import java.util.Scanner;
public class Demo {
   public static void main(String args[]) throws IOException {
      System.out.println("输入创建目录的路径: ");
      Scanner sc = new Scanner(System.in);
      String pathStr = sc.next();    
      System.out.println("输入所需的目录层次结构: ");
      pathStr = pathStr+sc.next();    
      //创建文件对象
      File file = new File(pathStr);    
      //创建目录
      boolean bool = file.mkdirs();    
      if(bool){
          System.out.println("Directory created successfully");      
       }else{
          System.out.println("Sorry couldn't create specified directory");      
       }  
   }
}
输出结果
输入创建目录的路径:
D
输入所需的目录层次结构:
sample1/sample2/sample3/final_directory

如果您验证,您可以观察到创建的目录层次结构为 -