递归查看指定文件夹下的所有文件

时间:2022-05-15 09:56:59
import java.io.File;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;


public class demo3 {

/**
* 获取指定路径下的全部文件,只是获取了文件,没有保存文件夹
*/
public static void main(String[] args) {
File file = new File("C:\\Users\\1\\Desktop\\每天新内容");
List<String> list = new ArrayList<String>();
list = allFile(file);

//创建一个迭代器,用来遍历集合
Iterator<String> iterator = list.iterator();

//hasNext() 每遍历一次迭代器的指针就会下移一位,
while (iterator.hasNext()) {
System.out.println(iterator.next());
}

}

public static List<String> allFile(File file){
List<String> list = new ArrayList<String>();

File[] files = file.listFiles();
if (file.isFile()) {
list.add(file.getName());
return list;
}

if (file != null) {
for (File file2 : files) {

list.addAll(allFile(file2));
}
}
return list;
}

}