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

วิธีค้นหาไฟล์ในไดเร็กทอรีใน java


รายการ() เมธอดของคลาส 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