/// EDIT /// La question ne pose pas ce qu'est une exception de pointeur nul, simplement ce qui pourrait l'avoir provoqué dans cette instance. Comme tel n'est pas un doublon de la poste liée. Je cherche à rechercher dans tout le système des fichiers mp3 ou wav. Si j'utilise l'algorithme pour un petit arbre tel que le bureau des utilisateurs, cela fonctionne très bien, mais si j'utilise un arbre plus grand tel que le répertoire personnel des utilisateurs, il envoie une exception de pointeur nul. Quelqu'un sait comment je peux contourner cela?La recherche d'annuaire récursive Java lève une exception de pointeur nul
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();
}
}
}
Voici la trace d'exception et de la pile
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)
Grande qui doit l'être. Merci beaucoup. –
vous êtes les bienvenus. – strash
fonctionne parfaitement maintenant. Merci encore pour votre aide. Répertoire vide causait l'exception –