首页 > 编程语言 > 详细

Java查询目录下的所有文件(包括子目录)

时间:2021-09-21 13:59:05      阅读:21      评论:0      收藏:0      [点我收藏+]

录图:

技术分享图片技术分享图片技术分享图片技术分享图片

方法代码:

技术分享图片
  /**
     * 读取目录下的所有文件
     * 
     * @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);// 回调自身继续查询
            }
        }
    }
}
技术分享图片

结果图:

技术分享图片

Java查询目录下的所有文件(包括子目录)

原文:https://www.cnblogs.com/wzihan/p/15311934.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!