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