闲得无聊写了一个用来遍历所有文件夹的 Class,也许以后会用上吧。= =!

1. ListDirUtil类的编写

分析需求:

  1. 获取用户指定的路径
  2. 判断该路径是否存在
  3. 判断是否是一个目录
  4. 遍历输出其子文件
  5. 就子文件是目录的部分进行递归输出

编写:

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 {
// TODO 自动生成的方法存根
File file=new File("D:\\qycache\\download");
ListDirUtil.listDir(file);
}

运行结果如下(请不要介意文件的内容_(:з」∠)_)

运行结果

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