黑马程序员技术交流社区
标题:
疑难杂症,求名医
[打印本页]
作者:
die_er
时间:
2014-4-2 13:37
标题:
疑难杂症,求名医
import java.io.File;
import java.io.FilenameFilter;
public class Demo {
public static void main(String[] args){
File dir = new File("d:");
showDir(dir);
}
public static void showDir(File dir)
{
System.out.println(dir);
File[] files = dir.listFiles();
for(int i=0; i<files.length; i++){
if(files[i].isDirectory())
showDir(files[i]);
else
{
String str = files[i].toString();
if(str.endsWith(".mp3"))
System.out.println(files[i]);
}
}
}
}
代码如上,运行的结果是:
d:\360SoftMove\SoftMoveConfig\我的音乐
d:\360SoftMove\SoftMoveConfig\收藏夹
d:\360SoftMove\SoftMoveConfig\桌面
d:\360SoftMove\SoftMoveConfig\用户临时文件夹
d:\aa
d:\CloudCache
d:\CloudCache\bfcapp
d:\CloudCache\bfcapp\link
d:\IP代理_2.88
d:\Media
d:\System Volume Information
Exception in thread "main" java.lang.NullPointerException
at For20_7.Demo.showDir(Demo.java:17)
at For20_7.Demo.showDir(Demo.java:19)
at For20_7.Demo.main(Demo.java:10)
说空指针错误,我特意传个空文件夹的对象,都不报错,老是扫描整个d盘就出错,求指点
作者:
die_er
时间:
2014-4-3 08:45
:(一天了,么人吗
作者:
何伟超
时间:
2014-4-3 20:19
d: 换成d://试试
作者:
shi0000
时间:
2014-4-3 22:20
d盘是“D:\\”
作者:
蓝雨星空
时间:
2014-4-6 18:34
在进行for循环遍历前,要进行一下判断,if(files!=null) 这样就行了
作者:
﹊佑雨时杰↘
时间:
2014-4-8 16:32
for(int i=0; i<files.length; i++){ 这一行出错的 原因是 File[] files = dir.listFiles(); 这一行事 files得到的files 是空 , 所以在这前面要加非空判断
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2