Hi kennt sich jemand von Euch mit dem DirectoryWalker aus den apache.commons aus?
ich habe folgendes Problem ich möchte aus einem Verzeichnisbaum alle *.bak dateien löschen
dazu benutze ich folgenden code
aufgerufen wird er so
leider wandert er im baum nicht in die Unterverzeichnisse
hat jemand eine Ahnung was ich falsch machen könnte?
ich habe folgendes Problem ich möchte aus einem Verzeichnisbaum alle *.bak dateien löschen
dazu benutze ich folgenden code
Code:
import java.io.File;
import java.io.FileFilter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import org.apache.commons.io.DirectoryWalker;
import org.apache.commons.io.filefilter.DirectoryFileFilter;
import org.apache.commons.io.filefilter.IOFileFilter;
public class FileCleaner extends DirectoryWalker {
public FileCleaner(FileFilter filter) {
super( filter , -1);
}
public List clean(File startDirectory) {
List results = new ArrayList();
try {
walk(startDirectory, results);
} catch (IOException e) {
e.printStackTrace();
}
return results;
}
protected void handleFile(File file, int depth, Collection results) {
// delete file and add to list of deleted
file.delete();
results.add(file);
}
}
aufgerufen wird er so
Code:
FileCleaner fc1 = new FileCleaner(new WildcardFileFilter("*.bak"));
List r1 = fc1.clean(new File("temp/"));
for(int i=0;i<r1.size();i++){
System.out.println(r1.get(i)+" - "+ "wurde erfolgreich gelöscht");
}
hat jemand eine Ahnung was ich falsch machen könnte?