闲得无聊写了一个用来遍历所有文件夹的 Class,也许以后会用上吧。= =!
1. ListDirUtil类的编写
分析需求:
- 获取用户指定的路径
- 判断该路径是否存在
- 判断是否是一个目录
- 遍历输出其子文件
- 就子文件是目录的部分进行递归输出
编写:
| 12
 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类
| 12
 3
 4
 5
 
 | public static void main(String[] args) throws IOException {
 File file=new File("D:\\qycache\\download");
 ListDirUtil.listDir(file);
 }
 
 | 
运行结果如下(请不要介意文件的内容_(:з」∠)_)

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