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

Posted 瀧思葉

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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流中在指定目录找文件,以及递归的主要内容,如果未能解决你的问题,请参考以下文章

[javaSE] IO流(递归查找指定文件)

Java之递归遍历目录,修改指定文件的指定内容

递归遍历指定目录,获取该目录下最大的文件信息

递归删除指定目录下面的所有文件夹和文件

IO流 列出目录下所有内容-递归

使用递归打印指定目录下所有文件名(包括所有子目录下的)