testpakipeut
Messages postés2Date d'inscriptionmercredi 4 février 2009StatutMembreDernière intervention30 mars 2012
-
29 mars 2012 à 19:08
testpakipeut
Messages postés2Date d'inscriptionmercredi 4 février 2009StatutMembreDernière intervention30 mars 2012
-
30 mars 2012 à 17:25
Bonjour à tous, j'ai créé une fonction permettant de trouver des fichiers portant une extension dans un dossier. Sauf lorsque j'effectue des tests avec le dossier C:\ à un moment une exception se lève(Exception in thread "main" java.lang.NullPointerException
at Recherche.chercherExtension(Recherche.java:25)
at Recherche.chercherExtension(Recherche.java:60)
at Recherche.main(Recherche.java:76))
Voici mon code:
public static ArrayList <File> chercherExtension (String dossier, String extension)
{
int cpt=0;
File dir=new File(dossier);
if(!dir.exists())
{
System.out.println("Erreur ! Le dossier n'existe pas ");
throw new IllegalArgumentException();//Lancement d'une exception si le dossier n'existe pas
}
if(dir.isFile())
{
System.out.println("Erreur ! "+dossier+" est un fichier");
throw new IllegalArgumentException();//Lancement d'une exception si le sois-disant dossier est en réalité un fichier
}
String t=new String("");
File tmp=new File(dir.getAbsolutePath().concat("\"+listeFichiers[i]));//tmp prend chacun des fichiers contenus dans le dossier
if(tmp.isFile()){
if(tmp.getName().lastIndexOf(".")!=-1){
t=tmp.getName().substring(tmp.getName().lastIndexOf("."));//On extrait l'extension du fichier
}
}
if(t.equals(extension))//Si cet extension est egal avec celle voulue on..
{
System.out.println(tmp.getAbsolutePath());
Filee.add(new File(tmp.getAbsolutePath()));//on ajoute le fichier correspondant au tableau Filee
}
else if(tmp.isDirectory())//Si "tmp" est un dossier on rappel la fonction
{
cs_laurent1024
Messages postés987Date d'inscriptionmardi 31 mai 2005StatutMembreDernière intervention30 août 201225 30 mars 2012 à 12:00
Bonjour.
A Priori, il n'aime pas ton dir.list().length, tu as peut être un dossier non accessible en lecture, ou un dossier vide qui provoque cette erreur
Essaye de modifier ton test comme ceci