- 使用递归的方式读取,如果是文件夹就递归,如果是文件就输出
- C / D盘中存在隐藏文件夹,使用isHidden进行判断,可以获得隐藏文件夹的文件夹名字,不过获取到的对象为null,所以需要进行判断
import java.io.File;
public class ReadFile {
private static int time = 0;
public static void main(String[] args) {
long startTime = System.currentTimeMillis();
File file = new File("D:\\");
File[] tempList = file.listFiles();
for (int i = 0; i < tempList.length; i++) {
getFileName(tempList[i].toString());
}
long endTime = System.currentTimeMillis();
System.out.println("程序运行时间:" + (endTime - startTime) + "ms");
System.out.println("文件数量 : " + time);
}
public static void getFileName(String str) {
File file = new File(str);
if(file.isFile()) {
System.out.println(file);
time++;
}else if(file.isDirectory()) {
File[] tempList = file.listFiles();
if(null != tempList) {
for (File file2 : tempList) {
if(!file2.isHidden()) {
getFileName(file2.toString());
}
}
}
}
}
}