2016-04-14 11 views
0

Ich habe für die letzten paar Tage versucht, dies zu tun. Ich habe Kopien davon gesucht und gemacht, aber keiner von ihnen funktioniert, ich habe nur einfache Lasten ausprobiert. aber sie funktionieren sowieso nicht.Wie lädt man eine txt.file in ein bestehendes Objekt?

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; 

    } 
} 

speichere ich sie wie diese

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

Danach gibt es eine Funktion, die die Daten des Objekts speichert und legen Sie es als text.file die „Players.txt“ und endet wie diese Zum Beispiel:

HECTOR 0 3 0

Mary 0 3 0

JOHN 0 3 0

Victor 0 3 0

Nun ist dies ein Datenfeld, wobei Daten Dat [] = new Daten [Max]; und es gibt einen Zähler von "J" jedes Mal wie ein einfaches Objekt. Alles was ich beim Programmstart möchte ist das Laden der gesamten Daten, die in der Textdatei sind und sie als dieses Objekt setzen.

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 

ich java ziemlich neu bin, und ich nicht wirklich den gepufferte-Leser und -Schreiber verstehen, würde ich einige Hilfe Vielen Dank im Voraus zu schätzen wissen.

Antwort

0

Schnellupdate Ich habe es selbst gemacht, wer sich hier fragt, ist mein Code. (Sein auf spanisch)

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 
} 

Ich habe dies in einer Arraylist Zeile für Zeile, Sicher, müssen Sie Ihre Textdatei sein wie zum Beispiel: HECTOR

Prost

Verwandte Themen