Ich verwende file.listFile()
, um die Dateien und Verzeichnisse in einem angegebenen Pfad aufzulisten. Der Grund, warum ich file.ListFile()
verwende, ist, weil ich einen FileFilter benutze, wenn der Benutzer nur Verzeichnisse oder nur Dateien zurückgeben möchte. Aber das Ergebnis ist, dass es nur die Ordner und Dateien im angegebenen Pfad auflistet und keine Unterordner und Dateien. Dies ist, was ich bin mit jetzt:Wie kann ich file.listFiles() verwenden, um Unterverzeichnisse und Dateien auch aufzulisten
file = new File(directory.getText().trim());
// Used this for testing; ListFiles() is a method
File[] test = ListFiles(directory.getName()); // I made up that will list the subfolders and files.
results.setListData(test); // Also for testing. results is a JList
// This is what i previously had that only lists folders and file in that directory
results.setListData(file.listFiles(new Filter() {
public boolean accept(File file) {
if (directories.isSelected()) {
// Directories checkBox
if (files.isSelected()) {
// Files checkBox
// FILES && DIRECTORIES
return (file.isDirectory() || file.isFile()) && (StringUtils.contains(file.getName(), userInput.getText().trim()));
}
// DIRECTORIES
return (file.isDirectory()) && (StringUtils.contains(file.getName(), userInput.getText().trim()));
} else {
if (files.isSelected()) {
// FILES
return (file.isFile()) && (StringUtils.contains(file.getName(), userInput.getText().trim()));
}
}
return true;
}
}));
}
Ich bin nur nicht sicher, wie mit den Filtern gehen über beteiligt
Wäre es nicht die Filter Inline leichter haben, ist es eine externe Funktion machen und rufen 'Listfiles()' mit dem Filefilter Funktion als Parameter? – Vince
Das hilft Ihnen nicht, alle Unterverzeichnisse zu gehen. Siehe meine Bearbeitung. – Jeremy
Das einzige Problem, das ich benutze eine Liste ist, dass, wenn ich 'results.setListData()' es erfordert eine 'File []' keine Liste. – Vince