2016-06-30 8 views
1
public void loadFileRecursiv(String pathDir) 
{ 
    File fisier = new File(pathDir); 
    File[] listaFisiere = fisier.listFiles(); 

    for(int i = 0; i < listaFisiere.length; i++) 
    { 
     if(listaFisiere[i].isDirectory()) 
     { 
      loadFileRecursiv(pathDir + File.separatorChar + listaFisiere[i].getName()); 
     } 
     else 
     { 
      String cuExtensie = listaFisiere[i].getName(); 
      String nume = cuExtensie.split(".")[0]; 
      String acronimBanca = nume.split("_")[0]; 
      String tipAct = nume.split("_")[1]; 
      String dataActString = nume.split("_")[2]; 
      //Date dataAct = new SimpleDateFormat("dd-MM-yyyy").parse(dataActString); 
      //String denBanca = inlocuireAcronim(acronimBanca); 

      insertData(listaFisiere[i], cuExtensie, acronimBanca, tipAct, dataActString); 

      //fisiere[i].renameTo(new File("u02/ActeConstitutive/Mutate")); 
     } 
    } 

} 

Ich habe einen einfachen Code, der alle Dateien und Ordner recursevely überprüft, wenn ein Pfad angegeben wird. Leider habe ich eine NULLPOINTEREXCEPTION für for(int i = 0; i < listaFisiere.length; i++) diese Zeile. Was kann das Problem sein? Vielen Dank!NullPointerException für Anweisung

Antwort

1
  1. prüfen, ob listaFisiere null ist oder nicht
  2. Wenn nicht null ist, ändern Sie diese Zeile als for(int i = 0; i < listaFisiere.length(); i++)

und

Sie Ihren Code ändern können, wie unten

for(File path:listaFisiere) 
{ 
    if(path.isDirectory()) 
    { 
     loadFileRecursiv(pathDir + File.separatorChar + path.getName()); 
    } 
    else 
    { 
     String cuExtensie = path.getName(); 
     String nume = cuExtensie.split(".")[0]; 
     String acronimBanca = nume.split("_")[0]; 
     String tipAct = nume.split("_")[1]; 
     String dataActString = nume.split("_")[2]; 
     //Date dataAct = new SimpleDateFormat("dd-MM-yyyy").parse(dataActString); 
     //String denBanca = inlocuireAcronim(acronimBanca); 

     insertData(path, cuExtensie, acronimBanca, tipAct, dataActString); 

     //fisiere[i].renameTo(new File("u02/ActeConstitutive/Mutate")); 
    } 
} 
Verwandte Themen