Files.createDirectory() - สร้าง Directory เดียว (Java 7+)
สร้าง Directory เดียว Parent ต้องมีอยู่แล้ว มิฉะนั้นจะโยน NoSuchFileException
import java.io.IOException;
import java.nio.file.*;
public class Test {
public static void main(String args[]) throws IOException {
Path path = Paths.get("D:\\sample_directory");
Files.createDirectory(path);
System.out.println("Directory created successfully");
}
}
Files.createDirectories() - สร้าง Hierarchical (Java 7+)
สร้าง Directory รวม Parent ที่ยังไม่มี (เหมือน mkdirs)
import java.io.IOException;
import java.nio.file.*;
public class Test {
public static void main(String args[]) throws IOException {
Path path = Paths.get("D:\\sample\\test1\\test2\\test3\\final_folder");
Files.createDirectories(path);
System.out.println("Directories created successfully");
}
}
ผลลัพธ์
Directory created successfully
โครงสร้างที่สร้าง
D:\sample\test1\test2\test3\final_folder
สรุปเมธอดหลักของ Files Class
| Method | Description |
|---|---|
| createDirectory(Path) | สร้าง Directory เดียว (Parent ต้องมี) |
| createDirectories(Path) | สร้าง Directory + Parents (Recursive) |
| createFile(Path, attrs...) | สร้าง File ใหม่ |
| delete(Path) | ลบ File/Directory (ว่าง) |
| deleteIfExists(Path) | ลบถ้ามีอยู่ ไม่โยน Exception |
| copy/move | คัดลอก/ย้าย File/Directory |
แนะนำ
ใช้ NIO.2 Files Class แทน File Class เดิม เพราะ:
- Exception Handling ชัดเจน (Checked Exceptions)
- รองรับ Symbolic Links, File Attributes
- ทำงานกับ Path Interface (Flexible)
- Performance ดีกว่าสำหรับ Large Operations