横向:循环,纵向:递归
public class PrintFiles {
public static void main(String[] args) {
File dir = new File("D:/ConditionTestManyToMany");
ArrayList<String> list = new ArrayList<>();
List<String> ls = getAllFiles(dir, list);
for(String s : ls)
System.out.println(s);
}
private static ArrayList<String> getAllFiles(File dir, ArrayList<String> list) {
if(dir.isFile())
{
System.out.println(dir.getAbsolutePath());
list.add(dir.getAbsolutePath());
return list;
}
File[] files = dir.listFiles();
if(files==null)
return list;
for(int i=0;i<files.length;i++){
if(files[i].isDirectory())
{
list.add(files[i].getAbsolutePath());
getAllFiles(files[i], list);
}
else
list.add(files[i].getAbsolutePath());
}
return list;
}
}
输出:


本文介绍了一个使用Java实现的文件遍历程序,该程序能够递归地遍历指定目录及其子目录下的所有文件,并将文件路径打印出来。通过递归方式处理目录结构,程序能够有效地收集并列出所有文件。
940

被折叠的 条评论
为什么被折叠?



