
获得目录出现 空指针异常 (谢谢每一关注的人)---------java
importjava.io.File;importjava.io.FileWriter;importjava.io.IOException;publicclassFile...
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
public class FileMuLu {
public void ff(String root){
File file = new File(root);
File[] subFile = file.listFiles();
//if(subFile.length>=0){
for (int i = 0; i < subFile.length; i++) {
if (subFile[i].isDirectory()) {
System.out.println("目录: "+subFile[i].getPath() );
ff(subFile[i].getAbsolutePath());
}else{
System.out.println("文件: " + subFile[i].getName());
}
}
//}
}
public void init(){
File[] roots=File.listRoots();
for(File root:roots){
System.out.println(root);
ff(root.toString());
}
}
public static void main(String[] args){
new FileMuLu().init();
}
}
上面代码可以运行,但在运行的过程中会出现 空指针异常。
for (int i = 0; i < subFile.length; i++) 这行出现异常。 展开
import java.io.FileWriter;
import java.io.IOException;
public class FileMuLu {
public void ff(String root){
File file = new File(root);
File[] subFile = file.listFiles();
//if(subFile.length>=0){
for (int i = 0; i < subFile.length; i++) {
if (subFile[i].isDirectory()) {
System.out.println("目录: "+subFile[i].getPath() );
ff(subFile[i].getAbsolutePath());
}else{
System.out.println("文件: " + subFile[i].getName());
}
}
//}
}
public void init(){
File[] roots=File.listRoots();
for(File root:roots){
System.out.println(root);
ff(root.toString());
}
}
public static void main(String[] args){
new FileMuLu().init();
}
}
上面代码可以运行,但在运行的过程中会出现 空指针异常。
for (int i = 0; i < subFile.length; i++) 这行出现异常。 展开
2个回答
展开全部
这是因为 subFile引用为空,也就是执行file.listFiles();返回为null,
估计你是像我一样当前登录机器的用户不是Administrator,而当程序找到
目录: C:\Documents and Settings\Administrator
时,由于没有权限访问,所以file.listFiles();返回为null,建议加一个判断当subFile不为空时才执行你的循环
估计你是像我一样当前登录机器的用户不是Administrator,而当程序找到
目录: C:\Documents and Settings\Administrator
时,由于没有权限访问,所以file.listFiles();返回为null,建议加一个判断当subFile不为空时才执行你的循环
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询