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

ความแตกต่างระหว่าง list() และ listFiles() ใน Java

คลาสชื่อ 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