黑马程序员技术交流社区
标题:
关于文件类的递归,分享一下
[打印本页]
作者:
z6528328
时间:
2015-9-21 00:02
标题:
关于文件类的递归,分享一下
这是用递归将目录中的文件打印出来
package test;
import java.io.*;
import java.util.*;
public class test3 {
public static void main(String[] args ) throws IOException{
//listDemo("testdir");
//建立一个File对象,装有一个地址
File a =new File("d:\\testdir");
//将File对象和目录级数传入到该函数
listFilesDemo(0, a);
}
public static void listFilesDemo( int level,File a){
//File f = new File("d:"+File.separator+a);
//先打印总目录
sop(getLevel(level)+a.getName());
level++;
//获取该目录下的文件名
File[] names = a.listFiles();
for (int i = 0; i < names.length; i++) {
//判断是否是目录
if (names[i].isDirectory()) {
//是目录的话,则传到该该方法,继续迭代
listFilesDemo(level,names[i]);
//当迭代完成后,从里到外打印文件
sop(getLevel(level)+names[i]);
}
else{
//不是目录,则打印
sop(getLevel(level)+names[i]);
}
}
}
public static String getLevel(int level){
//建立一个字符串缓存区
StringBuilder sb = new StringBuilder();
sb.append("|---");
for (int i = 0; i < level; i++) {
//sb.append("|---");
//每进入一级目录,则多加一个“ ”
sb.insert(0, " ");
}
//将其按字符串形式返回
return sb.toString();
}
public static void sop(Object obj){
System.out.println(obj);
}
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2