У меня есть эта функция, которая рекурсивно печатает имя всех файлов в каталоге. Проблема в том, что мой код очень медленный, потому что он должен получить доступ к удаленному сетевому устройству с каждой итерацией.
Мой план состоит в том, чтобы сначала загрузить все файлы из каталога рекурсивно, а затем пройти через все файлы с регулярным выражением, чтобы отфильтровать все файлы, которые я не хочу. Кто-нибудь имеет лучшее предложение?
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());
}
}
}
Это просто тест позже, я не буду использовать такой код, вместо этого я собираюсь добавить дату и время изменения каждого файла, который соответствует расширенному регулярному выражению, в массив.