java 递归获取所有指定磁盘文件问什么报null指针异常?
java递归获取所有指定磁盘文件问什么报null指针异常?sop只是System.out.println()的意思。不是容量的问题,不是数量的问题,//我想。如果你们试了...
java 递归获取所有指定磁盘文件问什么报null指针异常?sop 只是 System.out.println()的意思。不是容量的问题,不是数量的问题,//我想。如果你们试了代码没出null指针异常的话,可以传别的盘:C:\\ D:\\ 这些都全部试试;-----------------------------------------------------只想知道这个null那来的,还有没比这个更好理解简单的递归算法么?
展开
2013-12-10
展开全部
文件夹的访问权限问题
idDirectory()包括了canRead()的检查,但是因为没有启用SecurityManager所以始终返回true。
这个可以自己看源码。
你的空指针是指files这个是null所以加上对它的检查即可
private static void showDir(File dir) {
if (dir.isDirectory()) {
File[] fs=dir.listFiles();
if(fs==null){
System.out.println("Error: can't listFiles"+dir.getAbsolutePath());
}else
for (File f : fs) {
showDir(f);
}
}
else System.out.println("file: "+dir.getName());
}
idDirectory()包括了canRead()的检查,但是因为没有启用SecurityManager所以始终返回true。
这个可以自己看源码。
你的空指针是指files这个是null所以加上对它的检查即可
private static void showDir(File dir) {
if (dir.isDirectory()) {
File[] fs=dir.listFiles();
if(fs==null){
System.out.println("Error: can't listFiles"+dir.getAbsolutePath());
}else
for (File f : fs) {
showDir(f);
}
}
else System.out.println("file: "+dir.getName());
}
2013-12-10
展开全部
有些文件夹是不可读的 所以你在isDirectory的时候报空指针
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-12-10
展开全部
判断一下dir和files是否null?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询