我在过去的一天里试过这样做。我已经搜索并完成了它的副本,但它们都没有用,我尝试过轻松的负载。但无论如何都没有。
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很陌生,而且我真的不理解缓冲的读者和作者,我提前感谢一些帮助。
答案 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
干杯