Java-递归-查询某一目录下文件名
来源:互联网 发布:诺基亚软件怎么下载 编辑:程序博客网 时间:2024/05/20 07:58
昨天遇到一道很基础题,查询某一目录下的文件名,如果该文件下还有文件,继续查找文件名,直到没有文件名为止,用树状表示出来。
遇到这道题看到首先想到循环能不能解决问题,但已知总量不知道,所以不能用循环,考虑递归为最优方法。
递归思想就是循环的嵌套,一层调用下一层,直到没有为止。那靠什么决定返回了,Java提供了很好的关键字return解决是否继续进行。
话不多说 ,先贴上代码
package day2;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
public class Test2 {
// static int n=0;
//为什么递归方法要设置静态的呢?这是因为在静态方法中只能调用静态方法,不能调用非静态方法,如果想调用非静态方法一定要new对象。
public static void LookFile(File myf,int level)
{
String preStr = "";
for(int i=0; i<level; i++) { preStr += " "; }
//设置变量决定树形空格
System.out.println(preStr+myf.getName());
File[] childs = myf.listFiles();
if(!myf.isDirectory()) return;
//这个return很主要,如果这个文件夹没有就return回去,return在递归中很重要,如果不进行方法调用就return不用返回值就回去了。
for(int i=0; i<childs.length; i++) {
LookFile(childs[i],level+1);
}
}
public static void main(String[] args) {
String str="D://eclipse最新//eclipse//eclipse//workspace//MyStudyTest//mydir1";
File myf=new File(str);
try{
LookFile(myf, 0);//查看文件夹可能有空情况,出现异常要用catch
}catch(Exception e){
System.out.println("没有文件");
}
}
}
- Java-递归-查询某一目录下文件名
- python 修改某一目录下文件名
- Python 打印某一目录下所有文件名
- 查找某一目录下的所有文件名
- java递归输出目录下的所有文件名
- 通过递归查询指定目录下的所有文件和子文件夹下的指定文件名
- Python学习写一小程序,从某一目录下所以文件中查询某字段,并显示文件名和所在行
- C++读取某一目录下的所有文件名
- 如何获取某一目录下的所有文件名
- Java文件 File练习-递归显示某一目录下的所有文件
- java 查询目录下所有的文件(包含递归)
- 获取某一目录下某一类文件的文件名(QDir)
- 递归获取某一目录下的所有文件
- 递归查询文件名.vbs
- 使用递归显示某个文件目录下所有文件名
- 递归输出指定目录下的所有文件名
- 递归列出指定目录下的所有文件名
- 列出目录下所有文件名---ListFiles.java
- POJ 3304 Segments
- leetcode 315. Count of Smaller Numbers After Self 这个AC的做法实在是难以想到
- 构建ubuntu根文件系统
- 分布式设计 —— 容错与主备
- 动归---------塔
- Java-递归-查询某一目录下文件名
- Android ADB超简单的安装方法
- 【关于alsa buffer】ALSA编程细节分析
- 如何创建一个简单网页
- C语言中指向函数的指针
- 如何用好vs2015的调试器 ---- 新手必看
- 1046. 划拳(15)
- 树莓派:安装VNC
- skynet底层源码阅读(8)-启动流程