闲得无聊写了一个用来遍历所有文件夹的 Class,也许以后会用上吧。= =!
1. ListDirUtil类的编写
分析需求:
- 获取用户指定的路径
- 判断该路径是否存在
- 判断是否是一个目录
- 遍历输出其子文件
- 就子文件是目录的部分进行递归输出
编写:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| package com.yuchi;
import java.io.File; import java.io.IOException;
public class ListDirUtil { public static void listDir(File file) throws IOException { if(!file.exists()) { throw new IllegalArgumentException("文件" + file + "不存在!"); } if(!file.isDirectory()) { throw new IllegalArgumentException(file + "不是目录"); } File[] ChildFiles = file.listFiles(); if(ChildFiles != null && ChildFiles.length > 0) { for(int i = 0; i < ChildFiles.length; i++) { if(ChildFiles[i].isDirectory()) { listDir(ChildFiles[i]); } else { System.out.println(ChildFiles[i]); } } } } }
|
为了方便使用,我写了一个 static 方法方便调用,方法体内首先对需求 1,2 进行了判断,当条件不符合时抛出异常已提示用户。之后再获取子文件后,进行判断,就文件进行输出,目录进行递归。
2. ListDirClass类的编写
用于测试的ListDirClass类
1 2 3 4 5
| public static void main(String[] args) throws IOException { File file=new File("D:\\qycache\\download"); ListDirUtil.listDir(file); }
|
运行结果如下(请不要介意文件的内容_(:з」∠)_)

到这里一个简单的文件遍历小工具就完成了,之所以会想到写这么一个东西,其实完全只是觉得日后可能会用的上,所以预先写完放在这儿以后可以直接复制粘贴= =!