Tôi có chức năng này in tên của tất cả các tệp trong một thư mục một cách đệ quy. Vấn đề là mã của tôi rất chậm vì nó phải truy cập thiết bị mạng từ xa với mỗi lần lặp lại.
Kế hoạch của tôi trước tiên là tải tất cả các tệp từ thư mục một cách đệ quy và sau đó đi qua tất cả các tệp bằng regex để lọc ra tất cả các tệp tôi không muốn. Có ai có một đề nghị tốt hơn?
public static printFnames(String sDir){
File[] faFiles = new File(sDir).listFiles();
for(File file: faFiles){
if(file.getName().matches("^(.*?)")){
System.out.println(file.getAbsolutePath());
}
if(file.isDirectory()){
printFnames(file.getAbsolutePath());
}
}
}
Đây chỉ là một bài kiểm tra sau này, tôi sẽ không sử dụng mã như thế này, thay vào đó tôi sẽ thêm đường dẫn và ngày sửa đổi của mọi tệp khớp với regex nâng cao vào một mảng.