之前看了一个面试题,题目是这样的,使用递归遍历一个文件夹里面的文件。以下是我写的程序,希望可以有助于大家。
package com.acat.file;
import java.io.File;
public class TestDemo2 {
public static void main(String[] args) {
File file = new File("e:\\JavaTest");
getDir(file);
}
public static void getDir(File dir){
if(!dir.exists()){
System.out.println("该文件夹不存在");
}
File[] files = dir.listFiles();
if(files.length==0){
System.out.println("该文件夹里面啥也没");
}
for(File file:files){
if(file.isFile()){
System.out.println(file.getAbsolutePath());
}else if(file.isDirectory()){
getDir(file);
}else{
System.out.println("文件读入有错误");
}
}
}
}
注释:首先先判断这个文件夹是否存在,不存在直接在终端里面打印“该文件夹不存在”,如果文件夹存在,再判断这个文件夹里面是否为空,如果为空,再打印“该文件夹里面啥也没”,最后在判断该文件夹里面如果是文件就输出该文件的绝对路径,如果还是一个文件夹的话,就递归当前的方法,再来一次,即可。