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
,它接受所有内容。