Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

สร้าง Directory แบบ Hierarchical (ซ้อนกัน) ใน Java

วิธีที่ 1: Files.createDirectories() (NIO.2 - Java 7+)

สร้าง Directory รวมถึง Parent Directories ที่ยังไม่มีอยู่

import java.io.IOException;
import java.nio.file.*;
import java.util.Scanner;

public class Demo {
    public static void main(String args[]) throws IOException {
        Scanner sc = new Scanner(System.in);
        System.out.println("Enter base path (e.g. D:):");
        String base = sc.next();
        System.out.println("Enter directory hierarchy (e.g. sample1/sample2/sample3/final):");
        String hierarchy = sc.next();

        Path path = Paths.get(base, hierarchy);
        Files.createDirectories(path);
        System.out.println("Directory hierarchy created successfully");
    }
}

วิธีที่ 2: File.mkdirs() (Legacy IO)

import java.io.File;
import java.io.IOException;
import java.util.Scanner;

public class Demo {
    public static void main(String args[]) throws IOException {
        Scanner sc = new Scanner(System.in);
        System.out.println("Enter base path:");
        String base = sc.next();
        System.out.println("Enter directory hierarchy:");
        String hierarchy = sc.next();

        File file = new File(base, hierarchy);
        boolean created = file.mkdirs();
        System.out.println(created ? "Directory created successfully" : "Couldn't create directory");
    }
}

ผลลัพธ์ตัวอย่าง

Enter base path: D:
Enter directory hierarchy: sample1/sample2/sample3/final_directory
Directory hierarchy created successfully

โครงสร้างที่สร้าง

D:\sample1\sample2\sample3\final_directory

ความแตกต่าง

MethodPackageReturnExceptionRecursive Create
Files.createDirectories()java.nio.filePathIOException (Checked)ใช่
File.mkdirs()java.iobooleanไม่โยน Exceptionใช่

แนะนำ

ใช้ Files.createDirectories() เพราะเป็น Modern API, Rich Exceptions, ทำงานกับ Path, รองรับ Symbolic Links, Attributes