Dateifilter

luchs3

Erfahrenes Mitglied
Hi,

Ich habe einen Ordner mit vielen Dateien die so benannt sind: XXnnXXXX.XXX
nn ist ein zweistelliger int und X ist alphanumerisch. Nun will ich alle Dateien die an Stelle 34 zu nn passen verschieben. Leider habe ich nur End- und Anfangsfilter gefunden.

Danke im vorraus Niko
 
Hallo,

suchst du sowas?
Java:
new File("/tmp/bubu").list(new FilenameFilter() {
                    public boolean accept(File dir, String name) {
                        return name.matches(".{2}34.{4}\\..{3}");
                    }
                });

Gruß Tom
 
sieht gut aus, wenn ich es nur verstehen würde, bin noch ein Java Neuling:D.
Ich nehme mal an, das liefert ein Array zurück.
Ich kann es mir grob denken, aber könntest du es erklären?
 
Die Methode liefert so ein String-Array zurück. Mit listFiles ein File-Array.

list durchsucht den angegebenen Ordner /tmp/bubu und der Filter lässt dabei alle Dateien durch deren Namen deinem gewünschten Pattern entsprechen.

.{2}34.{4}\\..{3}

Im einzelnen bedeutet das: Ein Punkt steht für ein beliebiges Zeichen. ".{2}" steht dann für 2 beliebige Zeichen nacheinander. Dann kommt 34, dann 4 beliebige Zeichen, dann ein Punkt (escaped durch \\.) und dann 3 beliebige Zeichen.
 
das ist ja super!
kann ich auch eine Wildcard nach 34 setzen?

Edit: Ok, das sollte ich ja wohl selber schaffen.

Danke
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück