Filtrar resultados do listFiles()

6 respostas
P

Dae galera

Eu vi no JavaDoc que a função listFiles() tem um argumento para filtrar a lista, eu tentei por algo lá, do tipo, .jpg .gif mas não deu certo!! Como eu faço para filtrar os resultados!?

Grato pela ajuda!! :wink:

6 Respostas

M

Você usou FilenameFilters?

http://java.sun.com/j2se/1.5.0/docs/api/java/io/FilenameFilter.html

P

Mas a dúvida é essa, eu não sei usar esse paramentro, porque não pode por string ali e sim algum parametro!!! :?: :?:

T

Este é um exemplo de como listar todos os arquivos .java de um diretório.

import java.io.*;
class Test {
    public static void main(String[] args) throws Exception { 
        File f = new File("c:\fontes\java"); //-- O diretório
        //-- Lista de arquivos .java...
        File[] files = f.listFiles (new FileFilter() {
            public boolean accept(File pathname) {
                return pathname.getName().toLowerCase().endsWith(".java");
            } 
        });
        for (int i = 0; i < files.length; ++i) {
            System.out.println (files[i]);
        }
    }
}
P

Valeu amigo, deu certinho, só tem um porém, no Java não tem como dar mais de um return?! Pois eu precisaria de pelo menos listar os gif e os png!!!

Valeu.

T

Puxa vida, isso já é demais :stuck_out_tongue:

String nome = pathname.getName().toLowerCase();
return nome.endsWith (".java") || nome.endsWith (".bas") || nome.endsWith (".cs");
P

Ah que legal, não sabia que dava pra usar o OR no return, vivendo e aprendendo hehe!!

Valeu, tá perfeito aqui!!

Abraços.

Criado 9 de agosto de 2005
Ultima resposta 9 de ago. de 2005
Respostas 6
Participantes 3