【问题标题】:JAVA writing and loading an Object ArrayListJAVA编写和加载对象ArrayList
【发布时间】:2013-09-04 03:26:56
【问题描述】:

我正在开发一个关于学生的程序(将姓名、年龄和其他信息保存到对象中,并将这些对象存储到 arrayList 中)。到目前为止一切都很好,我什至让 JFrame 完全按照我想要的方式工作,但是当我尝试将所有这些信息写入文本文件时,问题就出现了。

我该怎么做?

我用 ObjectOutputStream 尝试了 FileOutputStream,但我很可能做得不对,因为我不断收到 IOException。

我正在寻找一个存储包含 2 个或更多对象的 arrayList 的程序示例,每个对象包含 2 个或更多变量。

至于保存的数组的加载,我想我可以弄清楚,但仍然需要对此进行解释。

我曾多次在不同的网站上看到人们建议这样做 (但它给了我一个 IOException)

    FileOutputStream fos=new FileOutputStream("FileName.txt");
    ObjectOutputStream oos=new ObjectOutputStream(fos);

    oos.writeObject(myObjectArrayList);

【问题讨论】:

  • 你得到了什么IOException
  • 虽然在技术上没有区别,但最好使用不同的文件扩展名,例如 .dat 或 .ser。它只是帮助定义文件的内容。
  • @BlackBox s/格式/扩展/。文件的格式并没有真正改变。
  • @ChrisJester-Young 谢谢,用词不当。

标签: java arraylist ioexception objectoutputstream


【解决方案1】:

默认ArrayListSerializable

但列表中的对象也必须实现Serializableinterface

在编写时确保您的 Student 类实现了 java.io.Serializable

【讨论】:

    【解决方案2】:

    在将 ArrayList 序列化为文件时,您需要确保 list 包含的对象也是可序列化的。因此,请确保您的 Student 类实现了Serializable 接口。

    【讨论】:

    • 它清楚地表明我应该避免这种事情但是......非常感谢我一整天都被困在这个问题上。
    猜你喜欢
    • 1970-01-01
    • 2017-04-26
    • 2014-03-20
    • 1970-01-01
    • 1970-01-01
    • 2015-02-12
    • 2013-10-04
    • 2013-10-30
    • 2016-06-28
    相关资源
    最近更新 更多