Computer >> Máy Tính >  >> Lập trình >> Java

Cách tìm kiếm tệp trong thư mục trong java

Danh sách () phương thức của lớp Tệp trả về một mảng Chuỗi chứa tên của tất cả các tệp và thư mục trong đường dẫn được đại diện bởi đối tượng (Tệp) hiện tại.

Để tìm kiếm một tệp, bạn cần so sánh tên của từng tệp trong thư mục với tên của tệp được yêu cầu bằng cách sử dụng phương thức equals ().

Ví dụ

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");
      }
   }
}

Đầu ra

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

Danh sách Chuỗi [] (bộ lọc FilenameFilter) phương thức của một lớp Tệp trả về một mảng Chuỗi chứa tên của tất cả các tệp và thư mục trong đường dẫn được đại diện bởi đối tượng (Tệp) hiện tại. Nhưng mảng được sửa lại chứa các tên tệp được lọc dựa trên bộ lọc được chỉ định. Bộ lọc tên tệp là một giao diện trong Java với một phương thức duy nhất.

chấp nhận (Tập tin, tên chuỗi)

Để tìm kiếm tên tệp, bạn cần triển khai FilenameFilter phù hợp với tên của tệp mong muốn.

Ví dụ

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");
      }
   }
}

Đầu ra

File Found