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 java : Sélectionner tout - Visualiser dans une fenêtre à part
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
Partager