java - 将对象的数组列表保存到外部文件 Java

标签 java serialization arraylist save deserialization

我设置了一个 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/

相关文章:

java - 发送/接收数据出现问题

java - 使用 Java 驱动程序处理 MongoDB 模式更改的正确方法

python - Django 休息框架 : child object count in serializer

java - 添加到 ArrayList 对象的 ListIterator

Java :Comparing two lists

java - 迭代多线程列表而不同步整个进程

c# - 非序列化无效

c - 如何在 C 中序列化和反序列化 Hessian 调用

c# - 如何使用ArrayList的 "CopyTo"方法到另一个ArrayList对象?

java - 在Java中生成非正弦声音输出