声明的NullPointerException

时间:2016-06-30 09:26:30

标签: nullpointerexception

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"));
        }
    }

}

我有一个简单的代码,可以在给出路径时对所有文件和文件夹进行recursevely检查。不幸的是,我有for(int i = 0; i < listaFisiere.length; i++)这一行的NULLPOINTEREXCEPTION。可能是什么问题?谢谢!

1 个答案:

答案 0 :(得分:1)

  1. 检查listaFisiere是否为空
  2. 如果不为null,请将此行更改为for(int i = 0; i < listaFisiere.length(); i++)
  3. 您可以更改以下代码

    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"));
        }
    }