การจัดการไดเรกทอรีและพาธ

Input/Output และ Streams ใน Java

Alex Liu

Software Developer Engineer

แนวคิดหลัก

  • ไดเรกทอรี ใช้จัดระเบียบไฟล์และข้อมูล
  • พาธ ระบุตำแหน่งของไฟล์และไดเรกทอรี
  • คลาส File แทนได้ทั้งไฟล์และไดเรกทอรี
    • ทรัพยากรที่สร้างจริงขึ้นอยู่กับเมธอดที่เรียกใช้ (mkdir() สำหรับไดเรกทอรี และ createNewFile() สำหรับไฟล์)

จอคอมพิวเตอร์แสดงไอคอนไดเรกทอรีหลายรายการ

Input/Output และ Streams ใน Java

การสร้างไดเรกทอรี

  • อิมพอร์ตคลาส File
    import java.io.File;
    
  • สร้างออบเจกต์ File ที่แทนไดเรกทอรี
    File newDirectory = new File("myDirectory");
    
  • ใช้ .mkdir() เพื่อสร้างไดเรกทอรีจริงบนระบบไฟล์
    boolean created = newDirectory.mkdir();
    
  • คืนค่า true หากสร้างไดเรกทอรีสำเร็จ
  • คืนค่า false หากไดเรกทอรีมีอยู่แล้วหรือไม่สามารถสร้างได้
Input/Output และ Streams ใน Java

การแสดงรายการไฟล์ในไดเรกทอรี

  • ใช้ .listFiles() เพื่อแสดงรายการไฟล์ในไดเรกทอรี

$$

// Creates a `File` object representing the directory `myDirectory`
File dir = new File("myDirectory");
//Retrieves an `array` of `File` objects representing the contents of `myDirectory`
File[] files = dir.listFiles();
  • คืนค่า array ของออบเจกต์ File หากไดเรกทอรีมีอยู่
  • คืนค่า null หากไม่พบไดเรกทอรี
Input/Output และ Streams ใน Java

การดึงพาธสัมพัทธ์ของไฟล์

  • พาธสัมพัทธ์: ตำแหน่งของไฟล์/ไดเรกทอรีเทียบกับไดเรกทอรีทำงานปัจจุบัน
// Creates a `File` object for `sample.txt` inside `myDirectory`
File file = new File("myDirectory/sample.txt");
// Retrieves the relative path of the file as a String
String path = file.getPath();
System.out.println(path);
  • สมมติว่า myDirectory มีอยู่แล้ว มิฉะนั้นการสร้างหรือเขียนไฟล์จะล้มเหลว

  • ผลลัพธ์:

    myDirectory/sample.txt
    
Input/Output และ Streams ใน Java

การใช้งานพาธสัมบูรณ์

  • พาธสัมบูรณ์: พาธแบบเต็มนับจาก root ของระบบไฟล์

$$

// Creates a `File` object for `sample.txt` inside `myDirectory`
File file = new File("myDirectory/sample.txt");
// Retrieves the absolute path of the file as a String
String absPath = file.getAbsolutePath();
System.out.println(absPath);
  • ผลลัพธ์:
/user/home/myDirectory/sample.txt
Input/Output และ Streams ใน Java

มาฝึกกันเถอะ!

Input/Output และ Streams ใน Java

Preparing Video For Download...