0
///編輯///問題不是要求什麼空指針異常,在這種情況下可能會導致它。因爲這不是郵件鏈接的重複。Java遞歸目錄搜索拋出空指針異常
我試圖搜索整個系統的任何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)
大那一定是它。非常感謝。 –
不客氣。 – strash
現在完美。再次感謝你的幫助。空目錄導致異常 –