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