【发布时间】:2013-10-15 17:57:17
【问题描述】:
我的目标是获取我计算机中所有 mp3 文件的列表(以下代码在 c: 目录中)。但是当我运行这段代码时,我得到了NullPointerException。但适用于其他目录,如(e:)。
public class music {
public static void main(String args[]){
extract("c:\\");
}
public static void extract(String p){
File f=new File(p);
File l[]=f.listFiles();
for(File x:l)
{
//System.out.println(x.getName());
if(x.isHidden()||!x.canRead())
continue;
if(x.isDirectory())
extract(x.getPath());
else if(x.getName().endsWith(".mp3"))
System.out.println(x.getPath()+"\\"+x.getName());
}
}
}
【问题讨论】:
-
我可以对
DirectoryStream<Path>感兴趣吗? -
异常来自哪一行?
-
docs.oracle.com/javase/6/docs/api/java/io/… 至少以 listRoots 开头,而不是 c:\\
-
您能否在此问题中发布您的堆栈跟踪。请在 javaDoc 中看到 listFiles 在以下情况下可以返回 null:“...此抽象路径名不表示目录,或者发生 I/O 错误。”
-
谢谢大家...我没有检查空列表...这就是问题...得到了输出:)
标签: java exception file-io nullpointerexception mp3