java中递归读取目录下的所有文件

本文介绍了Java如何递归读取目录下的所有文件,包括子目录中的文件。通过File类的listFiles()方法获取目录内容,遍历文件和子目录,递归处理子目录,并展示了不同实例和递归中list()与listFiles()的区别。同时,提供了相关学习资源链接。
摘要由CSDN通过智能技术生成

一、实例:
java递归读取目录下的所有文件(包含子目录下的所有文件)

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

import java.io.File;
import java.util.ArrayList;
import java.util.List;

public class ReadFile {
//因为测试test的是一目录名,目录名是以”“形式,所以是字符串类型
private static void test(String fileDir) {
//ArrayList集合查询速度快
List fileList = new ArrayList();
//创建要递归读取的目录文件的对象
File file = new File(fileDir);

// 获取目录下的所有文件或文件夹
File[] files = file.listFiles();
// 如果目录为空,直接退出
if (files == null) {
return;
}

// 遍历,目录下的所有文件,使用了增强for循环
for (File f : files) {
//是否是文件(非文件夹&#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值