Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Java

Liệt kê chỉ file (không bao gồm thư mục) từ directory trong Java

Phương thức listFiles() trả về mảng object của tất cả file và thư mục trong path của object File hiện tại.

Interface FileFilter lọc tên đường dẫn, truyền vào listFiles(). Lọc dựa trên filter.

Để chỉ lấy file: implement FileFilter chỉ chấp nhận file (dir.isFile()), truyền vào listFiles().

Ví dụ 1 - Dùng FileFilter

import java.io.File;
import java.io.FileFilter;
import java.io.IOException;

public class Demo {
    public static void main(String args[]) throws IOException {
        File directoryPath = new File("D:\\ExampleDirectory");
        
        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ụ 2 - Dùng Files.walk() và Files::isRegularFile

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