Galera do GUJ, boa noite.
Bom, eu deverei criar uma aplicação que leia um diretório num cd, pegue todos os arquivos deste diretório e inclua o nome destes arquivos em uma tabela (farei alguns truques com o nome do arquivo tirando traços e pontos)…
Ou seja, preciso tipo fazer um dir do diretório e jogar o resultado para uma coleção ou array.
Alguem tem idéia de como posso fazer isto?
Qual a api mais apropriada para fazer esta tarefa?
Muito obrigado mais uma vez
Dica: você precisa usar uma rotina recursiva, tal como esta:
/*** Rotina utilitária para percorrer um diretório.* Note que o padrão é aplicado* apenas aos arquivos, não aos diretórios.* @param files <code>List < File > </code> onde os arquivos serão acrescentados.* @param dir Diretório* @param pat Padrão a aplicar aos arquivos.*/publicstaticvoidaddRecursive(Listfiles,Filedir,Patternpat){exit:{if(dir==null||!dir.isDirectory()){breakexit;}File[]entries=dir.listFiles();//podeserqueretornenull,porquenãohápermissãodeleituraif(entries==null){breakexit;}for(inti=0;i<entries.length;++i){Fileentry=entries[i];if(entry.isDirectory()&&!(".".equals(entry.getName())||"..".equals(entry.getName()))){addRecursive(files,entry,pat);}else{if(pat.matcher(entry.getName()).matches()){files.add(entry);}}}}}
Para chamar esta rotina, por exemplo para o diretório “D:\teste” e acrescentando apenas os arquivos *.doc :