温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

java如何递归读取目录下所有文件

发布时间:2021-06-28 14:49:24 来源:亿速云 阅读:202 作者:小新 栏目:编程语言

小编给大家分享一下java如何递归读取目录下所有文件,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

java递归读取目录下的所有文件(包含子目录下的所有文件)大概思路如下:通过file.listFiles()方法获取目录下的所有文件(包含子目录下的所有文件),得到files[]数组,然后遍历得到的所有文件,通过isFile(文件)和isDirectory(文件夹)方法来判断读取的是文件还是文件夹,如果得到的是文件夹,就递归调用test()方法,如果得到的是文件,就将其加入fileList中,最后测试的时候遍历fileList下的所有文件,来验证读取数据的准确性。

package com.chaoyue.io.test; 
 
import java.io.File; 
import java.util.ArrayList; 
import java.util.List; 
 
/** 
 * 递归读取某个目录下的所有文件 
 * 
 * @author 超越 
 * @Date 2016年12月5日,下午4:04:59 
 * @motto 人在一起叫聚会,心在一起叫团队 
 * @Version 1.0 
 */ 
public class ReadFile { 
  private static void test(String fileDir) { 
    List<File> fileList = new ArrayList<File>(); 
    File file = new File(fileDir); 
    File[] files = file.listFiles();// 获取目录下的所有文件或文件夹 
    if (files == null) {// 如果目录为空,直接退出 
      return; 
    } 
    // 遍历,目录下的所有文件 
    for (File f : files) { 
      if (f.isFile()) { 
        fileList.add(f); 
      } else if (f.isDirectory()) { 
        System.out.println(f.getAbsolutePath()); 
        test(f.getAbsolutePath()); 
      } 
    } 
    for (File f1 : fileList) { 
      System.out.println(f1.getName()); 
    } 
  } 
 
  public static void main(String[] args) { 
    test("F:/apache-tomcat-7.0.57-windows-x64"); 
  } 
}

本地目录下的文件结构如下

java如何递归读取目录下所有文件

测试读取目录下的文件如下

java如何递归读取目录下所有文件

以上是“java如何递归读取目录下所有文件”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI