zoukankan      html  css  js  c++  java
  • Java查询目录下的所有文件(包括子目录)

    目录图:

    方法代码:

      /**
         * 读取目录下的所有文件
         * 
         * @param dir
         *            目录
         * @param fileNames
         *            保存文件名的集合
         * @return
         */
        public static void findFileList(File dir, List<String> fileNames) {
            if (!dir.exists() || !dir.isDirectory()) {// 判断是否存在目录
                return;
            }
            String[] files = dir.list();// 读取目录下的所有目录文件信息
            for (int i = 0; i < files.length; i++) {// 循环,添加文件名或回调自身
                File file = new File(dir, files[i]);
                if (file.isFile()) {// 如果文件
                    fileNames.add(dir + "\" + file.getName());// 添加文件全路径名
                } else {// 如果是目录
                    findFileList(file, fileNames);// 回调自身继续查询
                }
            }
        }

    测试代码:

    public static void main(String[] args) throws Exception {
          List<String> fileNames = new ArrayList<String>();
          FileUtil.findFileList(new File("F:\HTML\bootstrap"),fileNames );
          System.out.println();
          for (String value :  fileNames) {
             System.out.println("file:"+value);
          }   
     }

    整个类FileUtil.java:

    public class FileUtil {
     
        public static void main(String[] args) throws Exception {
             List<String> fileNames = new ArrayList<String>();
             FileUtil.findFileList(new File("F:\HTML\bootstrap"),fileNames );
             System.out.println();
             for (String value :  fileNames) {
                System.out.println("file:"+value);
             }
             
        }
        
        
        /**
         * 读取目录下的所有文件
         * 
         * @param dir
         *            目录
         * @param fileNames
         *            保存文件名的集合
         * @return
         */
        public static void findFileList(File dir, List<String> fileNames) {
            if (!dir.exists() || !dir.isDirectory()) {// 判断是否存在目录
                return;
            }
            String[] files = dir.list();// 读取目录下的所有目录文件信息
            for (int i = 0; i < files.length; i++) {// 循环,添加文件名或回调自身
                File file = new File(dir, files[i]);
                if (file.isFile()) {// 如果文件
                    fileNames.add(dir + "\" + file.getName());// 添加文件全路径名
                } else {// 如果是目录
                    findFileList(file, fileNames);// 回调自身继续查询
                }
            }
        }
    }

    结果图:

  • 相关阅读:
    BZOJ 4726: [POI2017]Sabota? 树形dp
    Codeforces Round #381 (Div. 1) B. Alyona and a tree dfs序 二分 前缀和
    uestc_retarded 模板
    CROC 2016
    Codeforces Round #381 (Div. 1) A. Alyona and mex 构造
    BZOJ 2648: SJY摆棋子 kdtree
    BZOJ 3732: Network 最小生成树 倍增
    HDU 5914 Triangle 数学找规律
    HDU 5902 GCD is Funny 数学
    Codeforces Round #379 (Div. 2) E. Anton and Tree 缩点 直径
  • 原文地址:https://www.cnblogs.com/henuyuxiang/p/11608997.html
Copyright © 2011-2022 走看看