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