黑马程序员技术交流社区
标题:
Java基础学习日记 - ListFiles(含子目录内容)(IO流部分)
[打印本页]
作者:
qihuan
时间:
2015-7-14 21:24
标题:
Java基础学习日记 - ListFiles(含子目录内容)(IO流部分)
package homeWork;
import java.io.*;
/**
* 需求: 列出指定目录下的文件或文件夹,包含子目录中的内容。
*
* 分析: 因为目录中还有目录,只要使用同一个列出目录功能的函数即可,
* 在列出过程中出现的还是目录的话,就再次调用本功能,也就是调用函数自身。
* 而这种表现形式,就叫做递归。
*
* Tips:1.限定条件
* 2.注意递归次数,避免内存溢出
*
* @author Qihuan
*
*/
public class ListFilesDemo {
public static void main(String[] args) {
File dir = new File("G:\\课程");
showListFiles(dir,0);
}
private static void showListFiles(File dir, int level) {
System.out.println(getLevel(level)+dir.getName());
level++;
File[] files = dir.listFiles();
for (int i = 0; i < files.length; i++) {
if(files[i].isDirectory())
showListFiles(files[i],level);
else
System.out.println(getLevel(level)+files[i]);
}
}
private static String getLevel(int level) {
StringBuilder sb = new StringBuilder();
for (int i = 0; i < level; i++) {
sb.append("- ");
}
return sb.toString();
}
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2