Ich habe eine Anforderung, wo ich ein Dateiverzeichnis und seine Unterverzeichnisse und Dateien in ihnen analysieren müssen. Des Weiteren habe ich auf die Dateigrößen innerhalb dieser Verzeichnisse Statistiken zu tun und die Ergebnisse auf zwei Bildschirmen sichtbar machen:Datenstruktur zum Mock eines Dateiverzeichnisses
1) Ordnerbaum mit Verzeichnisse, Unterverzeichnisse und Dateien (Größe> 50 mb)
2) Ordnerbaum mit Verzeichnissen, Unterverzeichnissen und Dateien (Größe < 50 mb)
die Ergebnisse Druck direkt von der Dateistruktur Parsen ist einfach, aber ich kann von jeder Datenstruktur nicht denken, wo ich mich erinnern kann die Verzeichnis- und Unterverzeichnisse und Dateien darin.
Dies ist etwas, was ich schon für das Parsen das Verzeichnis implementiert haben:
public void listFilesAndFilesSubDirectories(String directoryName) {
File directory = new File(directoryName);
//get all the files from a directory
File[] fList = directory.listFiles();
for (File file : fList) {
if (file.isFile()) {
System.out.println(file.getAbsolutePath() + " " + file.length()/1024);
countWords(file.getAbsolutePath());
findRepeatedWords(file.getAbsolutePath());
} else if (file.isDirectory()) {
listFilesAndFilesSubDirectories(file.getAbsolutePath());
}
}
}
Der Platz, den ich geschrieben habe Sysout statment, ich möchte eine Datenstruktur verwenden, wo ich Verzeichnis und dessen Unterverzeichnisse und Dateien speichern und Dateien in diesen Unterverzeichnissen.
Danke in Erwartung.
Sie meinen etwas wie ..... [Baum] (https://docs.oracle.com/javase/tutorial/uiswing/components/tree.html)? – Tom
Haben Sie erwogen, JDK-Abstraktionen wie 'FileSystem',' File', 'Path', etc.direkt zu verwenden? –
@tom Ja, genau. Aber es würden zwei Ansichten basierend auf einigen Kriterien gefiltert werden. –