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

Làm thế nào để liệt kê tất cả các tệp (chỉ) từ một thư mục sử dụng Java?

Phương thức ListFiles () trả về một mảng chứa các đối tượng (đường dẫn trừu tượng) 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.

Giao diện Bộ lọc Tệp là bộ lọc các tên đường dẫn mà bạn có thể chuyển nó làm tham số cho phương thức listFiles (). Phương pháp này lọc các tên tệp được chuyển qua bộ lọc đã chuyển.

Để lấy các tệp trong một thư mục, hãy triển khai một FileFilter chỉ chấp nhận các tệp và chuyển nó làm tham số cho phương thức listFiles ().

Sau đây là ảnh chụp màn hình nội dung của ExampleDirectory

Làm thế nào để liệt kê tất cả các tệp (chỉ) từ một thư mục sử dụng Java?

Ví dụ

import java.io.File;
import java.io.FileFilter;
import java.io.IOException;
public class Demo{
   public static void main(String args[]) throws IOException {
    //Creating a File object for directory
    File directoryPath = new File("D:\\ExampleDirectory");
    //Creating filter for directories files
    FileFilter fileFilter = new FileFilter(){
         public boolean accept(File dir) {          
            if (dir.isFile()) {
               return true;
            } else {
               return false;
            }
         }
      };        
      File[] list = directoryPath.listFiles(fileFilter);
      System.out.println("List of the jpeg files in the specified directory:");  
      for(File fileName : list) {
         System.out.println(fileName);
      }  
   }
}

Đầu ra

List of the jpeg files in the specified directory:
D:\ExampleDirectory\demo1.pdf
D:\ExampleDirectory\demo2.pdf
D:\ExampleDirectory\sample1.txt
D:\ExampleDirectory\sample2.txt
D:\ExampleDirectory\sample3.txt
D:\ExampleDirectory\sample_jpeg1.jpg
D:\ExampleDirectory\sample_jpeg2.jpg
D:\ExampleDirectory\test1.docx
D:\ExampleDirectory\test2.docx

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 ListOfFiles {
   public static void main(String[] args) throws IOException {
      Stream<Path> path = Files.walk(Paths.get("D:\\ExampleDirectory"));
      path = path.filter(Files::isRegularFile);
      path.forEach(System.out::println);
    }
}

Đầu ra

D:\ExampleDirectory\demo1.pdf
D:\ExampleDirectory\demo2.pdf
D:\ExampleDirectory\sample1.txt
D:\ExampleDirectory\sample2.txt
D:\ExampleDirectory\sample3.txt
D:\ExampleDirectory\sample_jpeg1.jpg
D:\ExampleDirectory\sample_jpeg2.jpg
D:\ExampleDirectory\test1.docx
D:\ExampleDirectory\test2.docx