解决NullPointerException问题!

来源:百度知道 编辑:UC知道 时间:2024/05/21 02:44:46
在for(int a=0;a<list2.length;a++)这句上报错为NullPointerException,但是我都赋了值,为什么还出现空指针异常了?

private void file(File f) {
File list[]=f.listFiles(); //取得指定目录中所有文件的File对象数组
for(int i=0;i<list.length;i++){
if(list[i].isFile()){
System.out.println(list[i].getName()); //取得该文件的文件名
}
else if(list[i].isDirectory()){
String path2=list[i].getName();
File f2=new File(path2);
File list2[]=f2.listFiles(); //取得目录下的目录f2下中的文件的File对象数组
try{
for(int a=0;a<list2.length;a++){
if(list2[a].isFile()){
System.out.println(list2[a].getName());
}
}
}
catch(Exception e){
System.out.print(e);
}
}
}
}
各位大哥,还是不行啊,我检查过传进的参数,没问题啊!第一个目录都能查出文件来,问题就出在目录下的目录里面文件不能查出!谁能再给我点提示啊?

你是在哪里调用的这个函数啊?问题可能出在你传进来的FILE对象上面,确定里面有东西先。

请打印
System.out.println(f2==null);
System.out.println(list2[]==null); 你就可以判断问题出在那里了.如果list2[]为空,你去调用他的长度,自然出错