Java 如何遍历目录
你是不是经常遇到要批量整理电脑里图片、文档的情况?比如把某文件夹里所有孩子的照片按月份归类,或者把下载的PDF从杂乱的下载文件夹挪到专门的“学习资料”文件夹?如果用手动复制粘贴,几百个文件得折腾好久,这时候用代码就能省超多时间。今天咱们就用大家都能懂的话,说说用Java怎么实现“遍历目录”——就是让代码自动帮你把一个文件夹里所有东西,包括子文件夹里的内容,都捋清楚。
先搞懂:Java遍历目录到底是啥?
可能有人会说“我用电脑自带的资源管理器找文件就行,为啥要学代码?”举个真实的小例子:我朋友是做电商的,要检查10个商品文件夹里的1000张主图,每张图都要符合“800x800像素”的要求。要是手动打开每个文件夹看,估计得花大半天,用Java写个遍历目录的代码,不到1分钟就能把所有图片的尺寸都列出来,还能自动标记不合格的图。

简单说,Java遍历目录就是让程序当你的“小助手”,帮你把指定文件夹里的所有内容,不管是直接在这个文件夹里的,还是藏在子文件夹里的,都找出来、列出来,甚至还能做后续的操作。
最实用的两种遍历方式,看完就能用
Java里遍历目录有两种常用方法,不用记复杂术语,跟着例子走就行,都是日常写代码最常用的。
第一种是用基础文件工具类File,适合新手快速上手,代码短还不容易错。比如要遍历电脑里的“我的照片”文件夹,咱们可以先指定这个文件夹的路径,然后让代码把里面的东西都找出来:如果是文件就直接打印名字,如果是文件夹就继续“钻进去”找,直到把所有内容都列完。就像你找东西,先打开第一层抽屉,有小盒子(子文件夹)就打开盒子,直到把所有抽屉里的东西都翻一遍。
第二种是用Java后来更新的Files工具类,比旧的File类更高效,还能处理大文件夹,适合文件多、结构复杂的情况。比如你要遍历有几千个文件的“下载文件夹”,用Files类不会像旧方法那样卡,还能顺便获取每个文件的大小、修改时间这些信息。它的逻辑和旧方法差不多,只是工具更顺手,就像你用自动吸尘器比用手动扫帚扫大房间,效率高很多。
避坑提醒:别踩这2个常见小错误
刚学的人经常犯2个错,踩过一次就不会再错了。第一个是没考虑隐藏的子文件夹:比如你找“工作文档”里的所有PPT,要是只遍历了第一层,没钻到子文件夹里,就会漏掉放在“2024年项目”“客户资料”这些子文件夹里的PPT,白忙活半天。第二个是权限问题:比如你要遍历电脑的系统文件夹,很多时候没有访问权限,代码就会报错,这时候换个普通文件夹试就行,比如自己建的“测试文件夹”,就不会有问题。
遍历完还能做啥?不止是“找文件”
遍历目录不只是列名字,还能延伸出很多实用操作:比如把所有旧照片的后缀从“.png”改成“.jpg”,把所有超过100M的大文件移到其他盘,甚至统计一个文件夹里总共有多少个文件、多少个子文件夹。我之前帮邻居整理他孩子的小学作业,就是用Java遍历目录,把所有“作业.docx”都找出来,自动按年级整理成新文件夹,省了他好几天的时间。
其实Java遍历目录不难,核心就是“从一个起点文件夹开始,一层一层往下找,碰到文件就处理,碰到文件夹就继续找”。不用一开始就写复杂代码,先从“把指定文件夹里的所有文件和子文件夹都打印出来”这个小功能练手,练熟了再慢慢加统计、整理、修改这些小功能,很快就能变成你的实用小工具。