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

Làm thế nào để tìm kiếm một thư mục có phần mở rộng tệp trong Java?

Ví dụ sau in các tệp trong thư mục dựa trên phần mở rộng -

Ví dụ

import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.stream.Stream;
public class Demo {
   public static void main(String[] args) throws IOException {
      Stream<Path> path = Files.walk(Paths.get("D:\\ExampleDirectory"));
      System.out.println("List of PDF files:");
      path = path.filter(var -> var.toString().endsWith(".pdf"));
      path.forEach(System.out::println);      
      path = Files.walk(Paths.get("D:\\ExampleDirectory"));
      System.out.println("List of JPG files:");
      path = path.filter(var -> var.toString().endsWith(".jpg"));
      path.forEach(System.out::println);    
      path = Files.walk(Paths.get("D:\\ExampleDirectory"));
      System.out.println("List of text files:");
      path = path.filter(var -> var.toString().endsWith(".txt"));
      path.forEach(System.out::println);      
      path = Files.walk(Paths.get("D:\\ExampleDirectory"));
      System.out.println("List of word files:");
      path = path.filter(var -> var.toString().endsWith(".docx"));
      path.forEach(System.out::println);      
    }
}

Đầu ra

List of PDF files:
D:\ExampleDirectory\demo1.pdf
D:\ExampleDirectory\demo2.pdf
List of JPG files:
D:\ExampleDirectory\sample_jpeg1.jpg
D:\ExampleDirectory\sample_jpeg2.jpg
List of text files:
D:\ExampleDirectory\sample1.txt
D:\ExampleDirectory\sample2.txt
D:\ExampleDirectory\sample3.txt
List of word files:
D:\ExampleDirectory\test1.docx
D:\ExampleDirectory\test2.docx

Ví dụ sau in tên của các tệp PDF trong một thư mục dựa trên các phần mở rộng -

Ví dụ

import java.io.File;
import java.io.FilenameFilter;
import java.io.IOException;
public class MyExample{
   public static void main(String args[]) throws IOException {
    //Creating a File object for directory
    File directoryPath = new File("D:\\ExampleDirectory");
    //Creating filter for jpg files
    FilenameFilter jpgFilefilter = new FilenameFilter(){
         public boolean accept(File dir, String name) {
            String lowercaseName = name.toLowerCase();
            if (lowercaseName.endsWith(".pdf")) {
               return true;
            } else {
               return false;
            }
         }
      };        
      String imageFilesList[] = directoryPath.list(jpgFilefilter);
      System.out.println("List of the jpeg files in the specified directory:");  
      for(String fileName : imageFilesList) {
         System.out.println(fileName);
      }  
   }
}

Đầu ra

List of the jpeg files in the specified directory:
demo1.pdf
demo2.pdf