Java:
import java.io.File;
import java.io.IOException;
class FileTreeWalker {
public static void main(String[] args) throws IOException {
new FileTreeWalker().walk(args[0]);
}
void walk(String pathname) throws IOException {
// hole alle Verzeichnis-Eintraege von pathname
File[] files = new File(pathname).listFiles();
if(files != null)
for(File file: files)
if(file.isDirectory())
// rufe walk() mit jedem Unterverzeichnis
// von pathname
walk(file.getCanonicalPath());
else
// rufe process() mit jeder Datei,
// die kein Verzeichnis ist
process(file.getCanonicalPath(), (int)file.length());
}
void process(String name, int length) {
// gib Namen und Länge der Datei aus
System.out.printf("%-70s%9d%n", name, length);
}
}
warum liefert er mir hier "Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
at FileTreeWalker.main(FileTreeWalker.java:5)
"???
Das Programm “FileTreeWalker” durchläuft rekursiv mit der Methode
“walk()” ab dem in der Kommandozeile übergebenen Verzeichnis den Verzeichnisbaum
und verarbeitet dabei alle Dateien mit der Methode “process()”,
die hier einfach den Namen und die Dateilänge ausgibt.
Brauche unbedingt hilfe danke im vorraus