将文本文件转换为arraylist

时间:2016-01-09 18:49:12

标签: java arrays file arraylist

我想提取保存在文本文件中的信息并将其转换为ArrayList。该文件由一个数字组成,以便对该行和String atributte进行定位。问题是我不知道如何将encuestas转换为数组,并且当我尝试使用listas.add时它说可能没有初始化变量。

public Lista Cargar_Listas(){ 
    ArrayList <Militante> militantes= new ArrayList <>();
    Lista lista = new Lista(militantes);

    try{
        FileReader fr = new FileReader("archivo.txt");
        BufferedReader entrada = new BufferedReader(fr);

        int j=0;
        String s;
        String nombrem, apellidos, profesion, siglas_partido, carne;
        int edad;
        char genero;
        double cuota;
        String[] encuesta;

        while((s=entrada.readLine())!=null){

            if(j==0) nombrem=s;
            if(j==1) apellidos=s;
            if(j==2) edad=Integer.parseInt(s);
            if(j==3) profesion=s;
            if(j==4) genero=s.charAt(0);
            if(j==5) siglas_partido=s;
            if(j==6) encuesta={s};
            if(j==7) cuota=Double.parseDouble(s);               
            if(j==8) carne=s;


            j++; 

           if(j>8){
               j=0;
               lista.add(new Militante(nombrem, apellidos, edad, profesion, genero, siglas_partido, encuesta, cuota, carne));
           }
        }
        entrada.close();
    }
    catch(java.io.FileNotFoundException fnfex){
       System.out.println("Archivo no encontrado: "+fnfex);}
    catch(java.io.IOException ioex){}
    return lista;
}

1 个答案:

答案 0 :(得分:0)

编辑: 输入的第七行是什么样的:它是逗号分隔的行吗? 使用:

encuesta = s.split(",");

或者,你的问题可能在Militante班。 它可能包含List&lt;&gt; encuesta,构造函数可能需要List。 但是,您传递的是String []。

尝试:

militantes.add(new Militante(nombrem, apellidos, edad, profesion, genero, siglas_partido, Arrays.asList(encuesta), cuota, carne)));

如果这不起作用,请编辑您的帖子以添加Militante课程。 谢谢。