Eu tenho essa função que imprime o nome de todos os arquivos em um diretório recursivamente. O problema é que meu código é muito lento porque precisa acessar um dispositivo de rede remoto a cada iteração.
Meu plano é primeiro carregar todos os arquivos do diretório recursivamente e depois passar por todos os arquivos com o regex para filtrar todos os arquivos que não quero. Alguém tem uma sugestão melhor?
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());
}
}
}
Este é apenas um teste posterior. Não vou usar o código como este, em vez disso, vou adicionar o caminho e a data de modificação de cada arquivo que corresponde a um regex avançado a um array.