Java 通用IO-listFilesAndDirs仅显示文件
我试图使用Java 通用IO-listFilesAndDirs仅显示文件,java,apache-commons,Java,Apache Commons,我试图使用FileUtils.listFilesAndDirs显示给定路径中的所有文件和文件夹,但目前我的代码仅获取给定路径中的文件并过滤掉这些目录 //Ask for the path to the directory System.out.println("Enter path: "); path = scanner.nextLine(); File myFile = new File(path); if(myFile == null || !
FileUtils.listFilesAndDirs
显示给定路径中的所有文件和文件夹,但目前我的代码仅获取给定路径中的文件并过滤掉这些目录
//Ask for the path to the directory
System.out.println("Enter path: ");
path = scanner.nextLine();
File myFile = new File(path);
if(myFile == null || !myFile.exists()) {
System.out.println("Bad directory path!");
System.exit(-1);
}
//Make a filter that matches files and directories
final IOFileFilter myFilter = new IOFileFilter() {
@Override
public boolean accept(File dir, String name) {
return true;
}
@Override
public boolean accept(File file) {
return true;
}
};
//List files and folders in that directory
Collection<File> listOfFiles = FileUtils.listFilesAndDirs(myFile, myFilter, null);
for(File file : listOfFiles) {
if(file.isDirectory()) {
System.out.print("Directory: ");
}
else {
System.out.println("File: ");
}
System.out.print(file.getAbsolutePath());
}
//询问目录的路径
System.out.println(“输入路径:”);
path=scanner.nextLine();
File myFile=新文件(路径);
如果(myFile==null | |!myFile.exists()){
System.out.println(“坏目录路径!”);
系统退出(-1);
}
//制作一个匹配文件和目录的过滤器
final IOFileFilter myFilter=新IOFileFilter(){
@凌驾
公共布尔接受(文件目录,字符串名称){
返回true;
}
@凌驾
公共布尔接受(文件){
返回true;
}
};
//列出该目录中的文件和文件夹
集合listOfFiles=FileUtils.listFilesAndDirs(myFile,myFilter,null);
对于(文件:listOfFiles){
if(file.isDirectory()){
系统输出打印(“目录:”);
}
否则{
System.out.println(“文件:”);
}
System.out.print(file.getAbsolutePath());
}
鉴于此:
FileUtils.listFilesAndDirs(myFile, myFilter, null)
您需要为目录指定筛选器。发件人:
如果此参数为null,则子目录将不包括在
搜寻
请记住,如果第三个参数为null,则不会得到任何文件夹 您只需使用:
//Use TrueFileFilter.TRUE to match all directories
TrueFileFilter.TRUE
FileUtils.listFilesAndDirs(myFile, TrueFileFilter.TRUE, TrueFileFilter.TRUE);
库有一个内置过滤器
TrueFileFilter.TRUE
,它接受所有内容。