【发布时间】:2017-09-21 14:13:02
【问题描述】:
///EDIT/// 问题不是问空指针异常是什么,只是在这种情况下可能导致它的原因。因此不是链接的帖子的副本。
我正在尝试在整个系统中搜索任何 mp3 或 wav 文件。如果我将算法用于用户桌面等小树,它可以正常工作,但如果我使用更大的树,如用户主目录,则会引发空指针异常。有谁知道我该如何解决这个问题?
package audioTest;
import java.io.File;
public class Main {
public static void recListFile(File[] list){
for(File i : list ){
if(i.isDirectory()){
recListFile(i.listFiles());
}
else{
String filePath = i.toString();
StringfileExt=filePath.substring(filePath.lastIndexOf(".")+1);
if(fileExt.equals("wav") || fileExt.equals("mp3")){
System.out.println(i.getName());
}
}
}
}//end recListFile
public static void main(String[] args){
File dir = new File(System.getProperty("user.home"));
try {
recListFile(dir.listFiles());
} catch(NullPointerException n) {
// more general: catch(Error n)
// anything: catch(Throwable n)
System.out.println("Caught "+n);
n.printStackTrace();
}
}
}
这里是异常和堆栈跟踪
Exception in thread "main" java.lang.NullPointerException
at audioTest.Main.recListFile(Main.java:11)
at audioTest.Main.recListFile(Main.java:13)
at audioTest.Main.recListFile(Main.java:13)
at audioTest.Main.recListFile(Main.java:13)
at audioTest.Main.main(Main.java:30)
【问题讨论】:
标签: java windows file directory