我file.listFile()
用来列出指定路径中的文件和目录。我使用的原因file.ListFile()
是因为我使用的是基于用户只希望返回目录还是只希望文件的 FileFilter。但是我得到的结果是它只列出了指定路径中的文件夹和文件,而不是子文件夹和文件。这就是我现在正在使用的:
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;
}
}));
}
我只是不确定如何处理所涉及的过滤器