• 输出某个目录下的所有文件和文件夹,包括子文件夹中的内容


    IO流中File类中有个listFiles() 方法,它可以返回一个抽象路径名数组,这些路径名表示此抽象路径名表示的目录中的文件。此时用这个方法来讲文件中的所有路径存储在一个数组中,在去判断这个数组中哪些路径是文件夹,继续用listFiles() 方法来递归运算
    File中有两个方法可以去判断一个是文件夹还是文件:
    boolean isDirectory()
    测试此抽象路径名表示的文件是否是一个目录。
    boolean isFile()
    测试此抽象路径名表示的文件是否是一个标准文件。


    演示:isDirectory()方法判断是否为文件夹

    import java.io.File;
    import java.io.FilenameFilter;
    
    /**
     * 打印某个目录下的所有文件和文件夹(包括子文件夹中的内容)
     * 
     * @author wql
     * 
     */
    public class Num1 {
    
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            File file = new File("./src/");
            method(file);
    
        }
    
        private static void method(File file) {
            File[] list = file.listFiles();
            for (int i = 0; i < list.length; i++) {
                if (!list[i].isDirectory()) {           //isDirectory()方法判断是否为文件夹
                    System.out.println(list[i].getName());
                } else {
                    System.out.println(list[i].getName()+ "..........文件夹..........");
                    method(list[i]);    //递归调用
                }
            }
    
        }
    
    }
    

    演示:isFile() 方法判断是否为文件

    import java.io.File;
    import java.io.FilenameFilter;
    
    /**
     * 打印某个目录下的所有文件和文件夹(包括子文件夹中的内容)
     * 
     * @author wql
     * 
     */
    public class CopyOfNum1 {
    
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            File file = new File("./src/");
            method(file);
    
        }
        public static void method(File file){
            File[] list=file.listFiles();
            for (int i = 0; i < list.length; i++) {
                if(list[i].isFile()){       //isFile() 方法判断是否为文件
                    System.out.println(list[i].getName());
                }else{
                    System.out.println(list[i].getName()+"........文件夹..........");
                    method(list[i]);        //递归
                }
    
            }
    
        }
    
    }
    

    运行:
    这里写图片描述

  • 相关阅读:
    Spring Boot 2 (四):使用 Docker 部署 Spring Boot
    Spring Boot 2 (三):Spring Boot 2 相关开源软件
    ConnectionString属性(网速慢的情况下研究Connect Timeout)
    Flexbox布局入门笔记
    ASP.Net一般处理程序Session用法
    AngularJS 插值字符串 $interpolate
    浅谈AngularJS的$parse服务
    VsCode 解决vim插件,不能使用ctrl+c的问题(目标卸载im)
    win10远程桌面 CredSSP加密Oracle修正的解决办法
    fatal:'origin' does not appear to be a git repository fatal:Could not read from remote repository
  • 原文地址:https://www.cnblogs.com/wangqilong/p/9417564.html
Copyright © 2020-2023  润新知