[Fichier] Effacement de fichiers retournat nullPointerException
Bonjour à tous
j'ai un bug emmerdant avec une fonction responsable d'affacer les fichier d'un répertoire. peux importe cce que je tente ça lance une NullPointerException.
Voilà les observations que j'ai fait:
- l'appel de canRead() me retourn true
- l'appel de canWrite() me retourne true aussi
- et l'appel de isDirectory() retourne true également
- Fait important, le path est le bon
voilà briève le code de cette fonction infernale qui me fait galèrer ( moi et mes collègues depuis une semaine :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
|
public static void deleteFolderContent(String pDirPath)
{ System.out.println(pDirPath);
File lRep = new File(pDirPath);
if (!lRep.exists())
return;
try
{
if(lRep.isDirectory()){
int iNombreFichiers=0;
// try/catch pour tests uniquement
try{
iNombreFichiers=lRep.listFiles().length;
}
catch (NullPointerException e)
{
System.out.println("Erreur de lenght");
}
System.out.println("NB file:" +iNombreFichiers);
//On allocate un Array correspondant au nombre de fichiers dans le DIR
File[] lFiles = new File[iNombreFichiers];
/*croyant que c'était à ce niveau,
j'ai pensé créer un Array de taille correspondante au nombre de fichiers */
if (iNombreFichiers == 0)
return;
lFiles=lRep.listFiles();
for (int i = 0; i < iNombreFichiers; i++)
{
System.out.println("Suis dans le for");
File fFichierCourant = lFiles[i];
if (fFichierCourant != null)
log.info("Effacement de :" +fFichierCourant.getName());
fFichierCourant.delete();
}
}
}
catch(NullPointerException nEx){
//selon l'API, listFiles() lance une NullPointerException si le répertoire est vide (or, dans mon cas, il n'est pas vide)
log.warn(" le dossier à efacer est vide "+ lRep);
}
catch (Exception e){
//LOG - logging starts here
log.fatal("Exception dans : deleteFolderContent() de BanGenFileUtils"+e.getMessage());
}
} |
Quelqu'un a une idée du pourquoi de ce bug chiant ?
Merci d'avance de votre aide ;)
Laurent