0
我正在使用file.listFile()
来列出指定路径中的文件和目录。我使用file.ListFile()
的原因是因为如果用户只需要目录返回或只有文件,我正在使用FileFilter。但是我得到的结果是它只列出了指定路径中的文件夹和文件,而不是子文件夹和文件。这就是我与现在的工作:如何使用file.listFiles()列出子目录和文件
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;
}
}));
}
我只是不知道如何使用过滤器去参与
难道是容易没有过滤器内联,使其外部函数和调用'listFiles()'用的FileFilter函数作为参数? – Vince
这并不能帮助你走完所有的子目录。看我的编辑。 – Jeremy
我使用列表的唯一问题是,当我使用'results.setListData()'时,它需要一个'File []'而不是一个列表。 – Vince