我设置了一个 arrayList 来保存玩家数据。每个球员都包含几个元素,即 Jersey 号码、名字、姓氏、首选位置、进球数和助攻数。我希望能够保存这些数据,以便当我重新启动程序时,数据仍然采用完全相同的格式。从我读过的一些东西看来,序列化是正确的选择?这是正确的还是有更好的方法?我是 Java 新手,所以任何例子都会很棒。我已附上我的代码的几个适用片段。
//创建数组列表
public class LeagueDatabase extends javax.swing.JFrame {
ArrayList <blackTeam> blackTeam = new ArrayList <blackTeam>();
//类的结构
class blackTeam {
int goals, assists;
String jerseyNum, firstName, lastName, prefPosition;
blackTeam (String _jerseyNum, String _firstName, String _lastName, String _prefPosition, int _goals, int _assists) {
jerseyNum = _jerseyNum;
firstName = _firstName;
lastName = _lastName;
prefPosition = _prefPosition;
goals = _goals;
assists = _assists;
}
}
//如何添加数据
black = new blackTeam(jerseyNum, firstName, lastName, prefPosition, goals, assists);
blackTeam.add(black);
//到目前为止我保存数据的内容
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
try{
FileOutputStream fos= new FileOutputStream("blackTeam");
ObjectOutputStream oos= new ObjectOutputStream(fos);
oos.writeObject(blackTeam);
oos.close();
fos.close();
}catch(IOException ioe){
ioe.printStackTrace();
}
//close program
System.exit(0);
}
});
如果有人可以解释如何将数据保存到文件,然后在程序启动时从该文件重新加载数据,那就太好了。
最佳答案
要序列化列表,列表中包含的所有对象都必须是可序列化的。
因此,您的 blackTeam 类
必须实现 Serialized 接口(interface)。
class blackTeam implements Serializable { ... }
关于java - 将对象的数组列表保存到外部文件 Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42167631/