รายการ() เมธอดของคลาส File ส่งคืนอาร์เรย์สตริงที่มีชื่อของไฟล์และไดเร็กทอรีทั้งหมดในพาธที่แสดงโดยอ็อบเจ็กต์ (ไฟล์) ปัจจุบัน
ในการค้นหาไฟล์ คุณต้องเปรียบเทียบชื่อของแต่ละไฟล์ในไดเร็กทอรีกับชื่อไฟล์ที่ต้องการโดยใช้เมธอด equals()
ตัวอย่าง
import java.io.File; import java.util.Arrays; import java.util.Scanner; public class Example { public static void main(String[] argv) throws Exception { System.out.println("Enter the directory path: "); Scanner sc = new Scanner(System.in); String pathStr = sc.next(); System.out.println("Enter the desired file name: "); String file = sc.next(); System.out.println(file); File dir = new File(pathStr); String[] list = dir.list(); System.out.println(Arrays.toString(list)); boolean flag = false; for (int i = 0; i < list.length; i++) { if(file.equals(list[i])){ flag = true; } } if(flag){ System.out.println("File Found"); }else{ System.out.println("File Not Found"); } } }
ผลลัพธ์
Enter the directory path: D:\\ExampleDirectory Enter the desired file name: demo2.pdf demo2.pdf [demo1.pdf, demo2.pdf, sample directory1, sample directory2, sample directory3, sample directory4, sample_jpeg1.jpg, sample_jpeg2.jpg, test1.docx, test2.docx] File Found
รายการ String[] (ตัวกรองชื่อไฟล์) เมธอดของคลาสไฟล์ส่งคืนอาร์เรย์สตริงที่มีชื่อของไฟล์และไดเร็กทอรีทั้งหมดในพาธที่แสดงโดยอ็อบเจ็กต์ (ไฟล์) ปัจจุบัน แต่อาร์เรย์ที่ปรับใหม่มีชื่อไฟล์ซึ่งถูกกรองตามตัวกรองที่ระบุ ตัวกรองชื่อไฟล์ เป็นอินเทอร์เฟซใน Java ด้วยวิธีเดียว
ยอมรับ (ไฟล์ dir ชื่อสตริง)
ในการค้นหาชื่อไฟล์ คุณต้องติดตั้ง FilenameFilter ที่ตรงกับชื่อไฟล์ที่ต้องการ
ตัวอย่าง
import java.io.File; import java.io.FilenameFilter; public class Example { public static void main(String[] argv) throws Exception { File dir = new File("D:\\ExampleDirectory"); FilenameFilter filter = new FilenameFilter() { public boolean accept(File dir, String name) { return name.equalsIgnoreCase("demo1.pdf"); } }; String[] files = dir.list(filter); if (files == null) { System.out.println("File Not Found"); }else { System.out.println("File Found"); } } }
ผลลัพธ์
File Found