Phương thức listFiles() trả về mảng object (đường dẫn trừu tượng) 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 tên file dựa trên filter.
Để lấy thư mục rỗng: implement FileFilter chỉ chấp nhận thư mục rỗng (dir.isDirectory() && dir.list().length == 0), truyền vào listFiles().
Ví dụ
import java.io.File;
import java.io.FileFilter;
import java.io.IOException;
public class MyExample {
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.isDirectory() && dir.list().length == 0) {
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.getName());
System.out.println(fileName);
}
}
}
Đầu ra
List of the jpeg files in the specified directory: sample directory1 D:\ExampleDirectory\sample directory1