首页 > 代码库 > IO流中在指定目录找文件,以及递归

IO流中在指定目录找文件,以及递归

1.0 指定目录找文件

public class ListAllTest {

public static void main(String[] args) {
File dir = new File("E:\\Java");
listAll(dir, 0);
         }

public static void listAll(File dir, int level) {
File[] files = dir.listFiles();
System.out.println(GetLevel(level) + dir.getName());
level++;
for (File file : files) {
if (file.isDirectory()) {
listAll(file, level);//此处就相当于用了递归
                    }

else {
System.out.println("file" + file.getName());
     }
  }
}

private static String GetLevel(int level) {
StringBuilder sb = new StringBuilder();
sb.append("!--");
for (int x = 0; x < level; x++) {
sb.insert(0," ");
sb.toString();
}
return sb.toString();
}

  2.0递归注意事项(函数自身调用自身,功能在内部复用。)

     (1)一定要设置条件。

     (2)一定要控制次数,否则会出现压栈报错。

IO流中在指定目录找文件,以及递归