Avatar billede oleje32 Nybegynder
11. maj 2010 - 22:15 Der er 4 kommentarer

Filter files class and add to string

Hejsa,

Jeg har et problem med at finde ud af hvordan jeg gør følgende;

FileFilter.java(filtrerer c:\ uden subdirs og på .txt)

Skal tage mod 2 parametre der skal være indeholdt i filnavnet; "skal begynde med" og "id"
liste alle filer der opfylder ovenstående kriterier og returnere dem til min Main.java, hvor jeg kan bruge dem som et Array af Strings.

Inden jeg poster min kode vil jeg godt lige se om der er nogen der har nogle gode ideer til at løse dette.
Avatar billede arne_v Ekspert
11. maj 2010 - 22:24 #1
File list med en instans af din klasse som implementerer FilenameFilter og har en accept metode som tester med startsWith og hvordan der nu skal testes for det id.
Avatar billede oleje32 Nybegynder
11. maj 2010 - 22:43 #2
Kan du evt. demonstrere, jeg har ikke ligefrem stort kørekort til java... :)
Avatar billede arne_v Ekspert
11. maj 2010 - 23:54 #3
import java.io.File;
import java.io.FilenameFilter;

public class ToFilterOrNotToFilter {
    public static class PrefixFilter implements FilenameFilter {
        private String prefix;
        public PrefixFilter(String prefix) {
            this.prefix = prefix;
        }
        public boolean accept(File dir, String name) {
            return name.startsWith(prefix);
        }
    }
    public static String[] lookup(String dir, String prefix) {
        File f = new File(dir);
        return f.list(new PrefixFilter(prefix));
       
    }
    public static void main(String[] args) {
        for(String fnm : lookup("C:\\", "te")) {
            System.out.println(fnm);
        }
    }
}

viser teknikken.
Avatar billede arne_v Ekspert
13. juni 2010 - 04:11 #4
OK?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester