如何将txt.file加载到现有对象中?

时间:2016-04-14 21:05:46

标签: java object text bufferedreader bufferedwriter

我在过去的一天里试过这样做。我已经搜索并完成了它的副本,但它们都没有用,我尝试过轻松的负载。但无论如何都没有。

public class Data
{
String Name;
 int Points;
 int Heart, Next;

 public Data(String N,int A,int V,int P)

{     Name = N;
   Next = A;
   Heart = V;
  Points = P;

   }
 }

我像这样保存他们

bw.write(Dat[j].Name + " " + Dat[j].Next + "" + Dat[j].Heart + " " + Dat[j].Points);

之后有一个函数可以保存对象的数据并将其作为text.file放置,这是" Players.txt"并最终像这样 例如:

  

HECTOR 0 3 0

     

Mary 0 3 0

     

JOHN 0 3 0

     

Victor 0 3 0

现在这是一个数据数组,是Data Dat [] = new Data [Max];还有一个" J"每次都像一个简单的对象。当程序启动时,我想要的是加载文本文件中的整个数据并将其作为此对象。

    public static void Scoreboard() 
   { Loading(); // this suppose to be the function to load the data
        f(j > 0)
            {   
        for(int i=0; i<j; i++)
                {   

    Dat[j].Show("Number"+(j+1)); // .Show is a function in the object Data    

                 }//for

            }//if
            else System.out.print("No users");
            return;
        }// Scoreboard

我对java很陌生,而且我真的不理解缓冲的读者和作者,我提前感谢一些帮助。

1 个答案:

答案 0 :(得分:0)

快速更新我自己做了,无论谁想知道这是我的代码。 (它的西班牙语)

 public static void Loading()
       {

String Nombre;
int Vida;
int Puntuacion;
int Aprobado;
File f = new File(ruta);
        try
        {   /*Si existe el fichero*/
            if(f.exists())
            {   /*Abre un flujo de lectura a el fichero*/
                BufferedReader Flee= new BufferedReader(new FileReader("Jugadores.txt"));
                String str=null;
                /*Lee el fichero linea a linea hasta llegar a la ultima*/
                ArrayList<String> lines = new ArrayList<String>();
                while((str=Flee.readLine())!=null)
                {   /*Imprime la linea leida*/
                    lines.add(str);
                    String[] linesArray = lines.toArray(new String[lines.size()]);
                }//WHILE
                /*Cierra el flujo*/

                for(int j=0; j<=lines.size();j = j + 4){
                 Nombre= lines.get(j);
                 Aprobado= Integer.parseInt(lines.get(j+1));
                 Vida=  Integer.parseInt(lines.get(j+2));
                 Puntuacion= Integer.parseInt(lines.get(j+3));

                Dat[cp] = new Datos(Nombre,Aprobado,Vida,Puntuacion);
                cp ++;
                }





                Flee.close();
            }
            else
                System.out.println("Fichero No Existe");
        }//try
        catch (Exception ex)
        {   /*Captura un posible error y le imprime en pantalla*/
            System.out.println(ex.getMessage());
        }//catch
}

我逐行将它变成了一个ArrayList,当然,你需要你的文本文件,例如: HECTOR

3

0

3

干杯