您的位置:首页 > 编程语言 > Java开发

Java实现当前目录下的所有子目录和文件,并按层级打印

2017-11-24 13:41 507 查看
目录下有子目录,子目录下有子目录,很容易想到用递归来实现。

/**
* 递归实现按层级打印目录下的子目录和文件
* @param file 所在目录
* @param count 所在层级
*/
public static void getFileName(File file,int count) {
for(File f:file.listFiles()) { //遍历目录
String preStr = "";
for(int i=0; i<=count; i++) { //所在层级的输出格式
preStr += " ";
}
System.out.println(preStr+f.getName());
if(f.isDirectory()){ //是否为目录
count++;
getFileName(f,count); //递归调用
}

}
}

在程序中最好是避免使用递归方法!

非递归实现:

算法设计的不好,就不贴出来了,有好的方法希望能多分享交流。

非递归实现个人觉得满意后再贴出来。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Java 递归 目录
相关文章推荐