Files mit * suchen

insertcoin

Erfahrenes Mitglied
hey ho
habe mir eine bestimmte liste von dateien eingelesen.
möchte jetzt nach bestimmten kriterien suchen , hab dazu die Schnittstelle FileFilter gefunden.aber mit der bekomm ichs nicht hin. meine Files haben immer ein ähnliches schema :
bez_bez_bez_irgendwelcheZahlen.end oder sowas
mein problem ist, ander stelle mit den zahlen möchte ich einen stern * zum suchen einfügen.
also etwa so:
bez_bez_bez_*.end .. dass es mir eben alle files mit dem schema raussucht, egal welche zahl sie da enthalten.

hoffe jemand hat eine idee..
danke schonmal im vorraus.

Greeetz insertcoin
 
Hallo,

es wäre sehr hilfreich, wenn du erklären würdest, was du machen möchtest.

Beachte bitte die Groß- und Kleinschreibung.

MFG

zEriX
 
hab gedacht das habe ich.. ok, ich versuchs nochmal, ist etwas schwierig.
ich versuch mein bsp zu vereinfachen.
ich speicher mir mit der Klasse File alle Dateien aus einem Ordner, die Ausgabe würde so aussehen:
irgendwas.xxx
keineAhnung.html
nochwas.txt
die_Will_ich_haben_*.txt
...

die Files lass ich nun überprüfen, und ich möcht mir alle rausschreiben die aussehen wie "die_Will_ich_haben_*.txt". nur kann anstelle des sterns, alles mögliche stehen.
hab aber noch keine möglichkeit in java gefunden einen * bei der suche einzusetzen. Auch nicht mit der Klasse FileFilter.
ich hoffe dieses mal versteht man es besser
 
Schau mal hier

Java:
package de.tutorials;

import java.io.File;
import java.io.FileFilter;

public class SearchFileExample {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		File file = new File("D:");
		
		File[] files = file.listFiles(new FileFilter(){

			public boolean accept(File pathname) {
				String name = pathname.getName();
				
				return name.startsWith("die_Will_ich_haben_") && name.endsWith(".txt");
					
			}
			
		});
		
		for(File f : files){
			System.out.println(f);
		}
	}

}

Das ganze kann man auch mit regular Expressions machen.

MFG

zEriX
 
Zuletzt bearbeitet:
Hier mir regexp

Code:
public boolean accept(File pathname) {
   String name = pathname.getName();

   return name.matches("die_will_ich_haben(_*\\D*\\d*)*.txt");
				
}

MFG

zEriX
 
Zuletzt bearbeitet:
Sehr cool, das hilft mir weiter..
Mit den regexp scheints ja viel einfacher zu sein, muss mir die unbedingt mal anschaun. hab mit denen noch nichts gemacht.
auf jeden fall, dankeschön ..

Greeetz
 
Zurück