为了账号安全,请及时绑定邮箱和手机立即绑定

递归这块有点不明白求解答

File[] files = dir.listFiles();//返回的是直接子目录(文件)的对象
		if(files!=null && files.length>0){
			for(File file : files){
				if(file.isDirectory()){
					//递归
					ListDirectory(file);
				}
				else{
					System.out.println(file);
				}
			}
		}

第二个if这里有点不明白,ListDirectory(file);是怎么操作的?

正在回答

2 回答

就是方法调用而以啊,你这段代码是不是写在ListDirectory()中啊,接收参数是个文件,整个方法逻辑就是

1、传一个文件路径dir进来,如果传进来的是文件夹,取出文件夹中的所有文件进行遍历

2、遍历时将每个文件进行判断,如果发现是文件夹,执行递归,又回到第一步。如果不是文件夹,就输出

3 回复 有任何疑惑可以回复我~
#1

郑荣 提问者

非常感谢!
2015-09-02 回复 有任何疑惑可以回复我~

如果是目录,则再从这一层开始,再执行一遍ListDirectory()方法。

0 回复 有任何疑惑可以回复我~
#1

别说你没认真

为什么会再执行一遍啊 我有点不理解
2015-12-30 回复 有任何疑惑可以回复我~
#2

别说你没认真

ao 。。。懂了 二了 以为ListDirectory()是API呢
2015-12-30 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
文件传输基础——Java IO流
  • 参与学习       133751    人
  • 解答问题       1030    个

为您介绍IO流的使用,以及对象的序列化和反序列化的内容

进入课程

递归这块有点不明白求解答

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信