黑马程序员技术交流社区
标题:
遍历文件夹 传入根目录如D:\\时报错;其他目录则没问题
[打印本页]
作者:
lkjghvcx@163.co
时间:
2013-7-4 14:42
标题:
遍历文件夹 传入根目录如D:\\时报错;其他目录则没问题
本帖最后由 杨兴庭 于 2013-7-5 22:22 编辑
遍历文件夹 传入根目录如D:\\时报错;其他目录如D:\\x64没问题
//listDir方法
public static void listDir(File dir){
System.out.println(dir);
File[] files = dir.listFiles();
for(File file:files){
//java.lang.NullPointerException,传入根目录如D:\\时报错;
其他目录如D:\\x64没问题
if(file.isDirectory())
listDir(file);
else System.out.println(file);
}
}
------------------------但在main中dir.listFiles();没问题
File dir=new File("D:\\");
File[] names=dir.listFiles();
//在这没问题的
for(File name:names){
System.out.println(name);
}
作者:
lanbuohan
时间:
2013-7-4 15:22
在上面那个程序中你没表明dir代表那个对象文件啊,没有创建一个文件实例啊,而在main中你创建D:\\的实例dir,这样就没有问题了
作者:
xuluheng718
时间:
2013-7-4 15:36
既然是空指针异常,那就是你这个file[] 数组问题,检查下D:\\里面是否有文件
作者:
oxf974025918
时间:
2013-7-4 15:40
main()中代码:
public static void main(String[] args) {
File f=new File("d:\\");
listDir(f);//调用自定义函数
}
自定义函数:
public static void listDir(File dir){
System.out.println(dir);//打印目录
File[] files = dir.listFiles();//得到dir下所有文件
for(File file:files){
if(file.isDirectory())//判断是否是目录,如果是目录就递归否则打印文件
listDir(file);
else
System.out.println(file);
}
}
按照我的试试,,,,
作者:
杨兴庭
时间:
2013-7-5 22:22
楼主您好,我已将您帖子的状态改成“已解决”,对此如有疑问可以通过
QQ632763270和我取得联系
-------------------坚持学习,黑马因你而精彩---------------
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2