คลาสชื่อ File ของแพ็กเกจ java.io แทนไฟล์หรือไดเรกทอรี (path names) ในระบบ เพื่อได้รายชื่อไฟล์ทั้งหมดที่มีอยู่ในไดเรกทอรี คลาสนี้มีเมธอด list() และ listFiles()
ความแตกต่างหลักคือ
- เมธอด list() คืนค่าชื่อของไฟล์ทั้งหมดในไดเรกทอรีที่กำหนดในรูปแบบอาร์เรย์ String
- เมธอด listFiles() คืนค่าอ็อบเจกต์ (File) ของไฟล์ในไดเรกทอรีที่กำหนด ในรูปแบบอาร์เรย์ชนิด File
คือ ถ้าคุณต้องการแค่ชื่อไฟล์ภายในไดเรกทอรีเฉพาะ ใช้ list() แต่ถ้าต้องการรายละเอียดของไฟล์ในไดเรกทอรี เช่น ชื่อ พาธ ฯลฯ ต้องใช้ listFiles() ดึงอ็อบเจกต์ของไฟล์ทั้งหมด และเรียกเมธอดที่เกี่ยวข้องเพื่อได้รายละเอียดที่ต้องการ
ตัวอย่าง list()
import java.io.File;
import java.io.IOException;
public class ListOfFiles {
public static void main(String args[]) throws IOException {
// สร้าง File object สำหรับไดเรกทอรี
File path = new File("D:\\ExampleDirectory");
// รายชื่อไฟล์และไดเรกทอรีทั้งหมด
String contents[] = path.list();
System.out.println("List of files and directories in the specified directory:");
for(int i = 0; i < contents.length; i++) {
System.out.println(contents[i]);
}
}
}
ผลลัพธ์
List of files and directories in the specified directory: SampleDirectory1 SampleDirectory2 SampleFile1.txt SampleFile2.txt SapmleFile3.txt
ตัวอย่าง listFiles()
import java.io.File;
import java.io.IOException;
public class ListOfFiles {
public static void main(String args[]) throws IOException {
// สร้าง File object สำหรับไดเรกทอรี
File path = new File("D:\\ExampleDirectory");
// รายชื่อไฟล์และไดเรกทอรีทั้งหมด
File files[] = path.listFiles();
System.out.println("List of files and directories in the specified directory:");
for(File file : files) {
System.out.println("File name: " + file.getName());
System.out.println("File path: " + file.getAbsolutePath());
System.out.println(" ");
}
}
}
ผลลัพธ์
List of files and directories in the specified directory: File name: SampleDirectory1 File path: D:\ExampleDirectory\SampleDirectory1 File name: SampleDirectory2 File path: D:\ExampleDirectory\SampleDirectory2 File name: SampleFile1.txt File path: D:\ExampleDirectory\SampleFile1.txt File name: SampleFile2.txt File path: D:\ExampleDirectory\SampleFile2.txt File name: SapmleFile3.txt File path: D:\ExampleDirectory\SapmleFile3.txt