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

利用listFiles遍历目录

利用listFiles遍历目录

赵昱权 2016-08-22 12:44:08
package ioDemo; import java.io.File; import java.io.IOException; public class Bianli { public static void listDirectory(File dir)throws IOException { if(dir.exists()){ throw new IllegalArgumentException("目录"+dir+"不存在"); } if(dir.isDirectory()){ throw new IllegalArgumentException("这不是目录"); } File [] files=dir.listFiles(); if (files!=null&&files.length>0) { for (File file : files) { if(file.isDirectory()){ listDirectory(file); }else{} System.out.println(file); } } } } //在另一个测试类当中 import java.io.File; import java.io.IOException; public class Test { public static void main(String[] args)throws IOException {             Bianli.listDirectory(new File("F:\2015-2016春季学期课程")); } } 为什么遍历目录的时候控制台没有打印呢?不知道问题出在哪里了?望指正!先谢过了!
查看完整描述

2 回答

已采纳
?
阿旭_

TA贡献217条经验 获得超353个赞

1、判断目录是否不存在需要加不等号

		if (!dir.exists()) {
			throw new IllegalArgumentException("目录" + dir + "不存在");
		}
		if (!dir.isDirectory()) {
			throw new IllegalArgumentException("这不是目录");
		}

2、目录在java要转义写成两个\\

Bianli.listDirectory(new File("F:\\2015-2016春季学期课程"));


查看完整回答
1 反对 回复 2016-08-22
  • 赵昱权
    赵昱权
    非常感谢您的回答,采纳您的建议之后问题已经解决了,是我粗心大意搞错了这两处细节。真的非常感谢
?
Exceptions

TA贡献1条经验 获得超1个赞

 Bianli.listDirectory(new File("F:“+Flie.separator+”2015-2016春季学期课程"));这样写~~~

查看完整回答
1 反对 回复 2016-08-23
  • 2 回答
  • 0 关注
  • 1527 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信