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