J'utilise file.listFile()
pour lister les fichiers et les répertoires dans un chemin spécifié. La raison pour laquelle j'utilise file.ListFile()
est parce que j'utilise un FileFilter basé sur si l'utilisateur veut que les répertoires retournent ou seulement les fichiers. Mais le résultat que j'ai est qu'il liste seulement les dossiers et les fichiers dans le chemin spécifié et pas les sous-dossiers et les fichiers. C'est ce que je travaille en ce moment avec:Comment puis-je utiliser file.listFiles() pour lister les sous-répertoires et fichiers
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;
}
}));
}
Je ne suis pas sûr de savoir comment s'y prendre avec les filtres impliqué
Serait-il plus facile de ne pas avoir la ligne de filtre, en font une fonction en dehors et appeler 'ListFiles()' la FileFilter fonctionne comme un paramètre? – Vince
Cela ne vous aide pas à parcourir tous les sous-répertoires. Voir ma modification. – Jeremy
Le seul problème que j'ai en utilisant une liste est que quand j'utilise 'results.setListData()' il faut un 'File []' pas une liste. – Vince