Mam tę funkcję, która rekurencyjnie wypisuje nazwy wszystkich plików w katalogu. Problem polega na tym, że mój kod jest bardzo wolny, ponieważ musi uzyskiwać dostęp do zdalnego urządzenia sieciowego w każdej iteracji.
Mój plan polega na tym, aby najpierw załadować wszystkie pliki z katalogu rekurencyjnie, a następnie przejrzeć wszystkie pliki za pomocą wyrażenia regularnego, aby odfiltrować wszystkie pliki, których nie chcę. Czy ktoś ma lepszą sugestię?
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());
}
}
}
To tylko test później. Nie zamierzam używać takiego kodu, zamiast tego dodam ścieżkę i datę modyfikacji każdego pliku, który pasuje do zaawansowanego wyrażenia regularnego do tablicy.