Bestimmte Dateien im Verzeichnis durchsuchen

Aleyna23

Mitglied
Hallo,
kann mir jemand sagen, wie man in Java in einem Verzeichnis nach bestimmten Dateien suchen kann?
Beispiel:
Verzeichnis: Programme
Dateien:
test_1.txt
test_2.txt
test_3.txt
beispiel.txt
etc.

ich möchte nur die Dateien ausgeben die mit "test" beginnen.

Danke im Voraus.
 
Hallo,

mit der Klasse FileTreeWalker ist es möglich Verzeichnisse und Unterverzeichnisse nach Dateien zu durchsuchen. Dann musst Du nur noch Abfragen ob im Dateipfad "test" vorkommt und diese dann ausgeben.

Gru0 KlaDi.
 
Hallo,

schau mal hier:
http://www.tutorials.de/forum/java/225822-verzeichnis-durchsuchen-ordner-ausgeben.html
http://www.tutorials.de/forum/java/259830-jface-treeviewer.html

Wenn man beides Kombiniert könnte das dann so ausschauen:
Java:
/**
 * 
 */
package de.tutorials;

import java.io.File;
import java.util.Set;
import java.util.Stack;
import java.util.TreeSet;

/**
 * @author thomas.darimont
 * 
 */
public class FileSearchExample {

	/**
	 * @param args
	 */
	public static void main(String[] args) throws Exception {
		Set<File> files = findFilesBeneath(new File(
				"D:/stuff/springframework/2.0.2/spring-framework-2.0.2"),
				new IPredicate<File>() {
					public boolean evaluate(File file) {
						return file.getName().endsWith(".xml");
					}
				});
		System.out.println(files);
	}

	private static Set<File> findFilesBeneath(File startDirectory,
			IPredicate<File> predicate) {
		Set<File> foundFiles = new TreeSet<File>();
		Stack<File> files = new Stack<File>();
		files.push(startDirectory);
		while (!files.empty()) {
			File currentDirectory = files.pop();
			for (File currentFile : currentDirectory.listFiles()) {
				if (currentFile.isDirectory()) {
					files.push(currentFile);
				} else {
					if (predicate.evaluate(currentFile)) {
						foundFiles.add(currentFile);
					}
				}
			}
		}
		return foundFiles;
	}

	static interface IPredicate<TTargetType> {
		boolean evaluate(TTargetType arg);
	}
}

Gruß Tom
 
Zurück