如何将对象保存到文件并将其重新加载到Java程序中?

时间:2019-11-28 11:24:01

标签: java json kanban

我正在用Java开发一个项目,该项目中用户必须能够创建看板(如果您以前使用过,则基本上是Trello)。因此,目前,我们已经可以在程序中创建看板。下一个任务是能够将开发板保存到文件并重新加载。我听说JSON可能是一个很好的解决方案。

我想知道是否有人同意这一点,或者他们还有其他解决方案。看板板对象在板上将具有一个ID和一列列,每一列将具有一列卡。我认为,如果使用JSON,保存起来应该很简单,但是我想知道你们如何将板子重新加载到程序中。当然,有添加卡,列等的方法。

2 个答案:

答案 0 :(得分:0)

Json是个好主意,因为您可以在其中存储复杂的对象。您可以使用Google for Java的Gson库将Java对象转换为Json并将其存储,反之,从文件中读取Json并将其转换为Java对象。

另一种方法是使用ObjectOutputStream存储和读取文件中的对象。

不过,我还是更喜欢使用Json,因为我认为它更易于使用并且具有更好的概述,因为您仍然可以阅读Json,而ObjectOutputstream将对其进行编码(如果我没记错的话)。

您可以在此处查看示例: https://www.mkyong.com/java/how-to-write-an-object-to-file-in-java/

如果还有其他问题,请告诉我们。

答案 1 :(得分:0)

XML可能更好。带有JAXB和DOM类中的一些注释。

非常简单,但是可以使用tutorial

public static Definitions loadModel(Path path) throws JAXBException {
    JAXBContext context = JAXBContext.newInstance(Definitions.class);
    Unmarshaller um = context.createUnmarshaller();
    Definitions definitions = (Definitions) um.unmarshal(path.toFile());
    return definitions;
}

@XmlRootElement
public class Definitions {

    @XmlAttribute(name = "subject")
    public String subject;

    @XmlElement(name="field"),
    public List<Field> items;
}