java中文件列出--》出问题?高手给看看?
import java.io.*;public class IODemo06{
public static void main(String []args) {
loop("d:\\");
}
public static void loop(String dir){
File f=new File(dir);
String str[]=null;
if(f.isDirectory()){
str=f.list();
for(int i=0;i<str.length;i++){
loop(dir+"\\"+str[i]);
}
}
else{
System.out.println(dir);
}
}
}
编译能成功,但是运行会报错。错误信息出现
NullpointerException
----------------解决方案--------------------------------------------------------
NullpointerException 空指向异常
你觉的这个可以吗?
String str[]=null;
----------------解决方案--------------------------------------------------------
我拿你的源码运行了。可以。没错。
----------------解决方案--------------------------------------------------------
正常运行,没有你说的那情况.
----------------解决方案--------------------------------------------------------
回复 3楼 gameohyes
怎么在我机子跑,砸就出错了呢 ----------------解决方案--------------------------------------------------------
回复 4楼 gameohyes
真的,在我机子上跑就出错了,不知道为什么? ----------------解决方案--------------------------------------------------------
回复 2楼 gameohyes
我的程序是没错的,有的人反映我的程序能够跑,但是在我的机子上跑就出错了,郁闷啊 ----------------解决方案--------------------------------------------------------
要不换个开发平台试下
不行的话,要想彻底解决就
1、重装系统---> 2、再装相关开发平台吧
----------------解决方案--------------------------------------------------------
程序是没有问题,但是实际运行后,每个机器的环境不同,可以会出现一些问题
如果你的机器开启了自动还原,那么在每个盘下有一个System Volume Information的文件夹,
这个文件夹需要系统权限才可以访问,所以当你要ListFiles的时候,返回的是Null
其它的情况可能有一些不符合命名规则的文件,或者无法访问的文件夹导致的。
----------------解决方案--------------------------------------------------------
我试过了。就是9楼说的原因,把该文件夹的的访问权限改为当前用户就不会出现异常。
----------------解决方案--------------------------------------------------------