G
Gast LA
Gast
Moin, moin,
ich habe hier im Forum folgenden Code für die rekursive Verzeichnissuche gefunden. Leider habe ich so meine Verständnissprobleme, was die Funktionsweise anbelangt. Ich wäre wirklich dankbar für jede Aufklärung. (Wenn auch nur grob, wäre auch schon prima).THX für jeden comment.
ich habe hier im Forum folgenden Code für die rekursive Verzeichnissuche gefunden. Leider habe ich so meine Verständnissprobleme, was die Funktionsweise anbelangt. Ich wäre wirklich dankbar für jede Aufklärung. (Wenn auch nur grob, wäre auch schon prima).THX für jeden comment.
Code:
public class FileFinder {
final FileFilter fileFilter;
final static FileFilter directoryFilter = new FileFilter() {
public boolean accept(File file) {
return file.isDirectory();
}
};
public FileFinder(final String fileNameMask) {
fileFilter = new FileFilter() {
public boolean accept(File file) {
return file.isFile() && file.getName().matches(fileNameMask);
}
};
}
public Set findFile(File directory) {
Set files = new HashSet();
findFile(files, directory);
return files;
}
public void findFile(Set foundFiles, File directory) {
/* Search for files */
File[] files = directory.listFiles(fileFilter);
if (files.length > 0) {
foundFiles.addAll(Arrays.asList(files));
}
/* Get the sub directories */
File[] subDirs = directory.listFiles(directoryFilter);
for (int dirIndex = 0; dirIndex < subDirs.length; dirIndex++) {
findFile(foundFiles, subDirs[dirIndex]);
}
}
public static void main(String[] args) {
System.out.println(new FileFinder(".*\\.ini").findFile(new File("C:\\WINNT")));
}
}