java - 常见 IO - listFilesAndDirs 只显示文件

标签 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 || !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());       
    }

最佳答案

请记住,如果第三个参数为空,您将不会获得任何文件夹 你可以只使用:

//Use TrueFileFilter.TRUE to match all directories
TrueFileFilter.TRUE


FileUtils.listFilesAndDirs(myFile, TrueFileFilter.TRUE, TrueFileFilter.TRUE);

关于java - 常见 IO - listFilesAndDirs 只显示文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17428412/

相关文章:

java - 安装 Project Lombok 后处理 RealmObject 后代时出错

java - 如何在 Java Spring Boot MVC 中使用 Ajax 删除多个项目

java - 我可以在另一个类中使用一个类的代码(构造函数+方法)吗? (java)

daemon - Apache 公共(public)守护进程 "Failed creating Java"错误

java - Apache 的通用-vfs 中嵌套zip 文件的URI?

java - 如何使用 Apache 文件上传实用程序根据文件名设置最大文件大小

java - Java 中是否有类似 cron 的 ScheduledExecutorService 实现?

java - 执行一个简单的 mapreduce 函数以在 Hadoop 的日志文件中搜索字符串

java - servlet文件上传文件名编码

java - Apache 公共(public)文件上传 "Streaming API"