Java保存列表到Prefs

时间:2014-07-21 19:57:34

标签: java list

我正在开发一个项目,并有一个可观察的列表,用于填充JavaFX表。这很好用,但我试图使用java.util.prefs API将此表的内容保存到首选项文件。我可以保存字符串,int等...但我不知道如何保存列表。

我有ObservableList<Account> dataList然后我会添加帐户信息。然后使用它来填充JavaFX表。有没有办法将dataList存储到prefs而不进行迭代并将其保存为一个长字符串?

我的第一种方法是迭代,在每个条目之间添加一个特殊的char,这样我就可以在以后从prefs加载时拆分字符串。

由于

2 个答案:

答案 0 :(得分:0)

您可以考虑使用XML编码器:

XMLEncoder e = new XMLEncoder(
    new BufferedOutputStream(
        new FileOutputStream("Test.xml")));
e.writeObject(dataList);
e.close();

或考虑序列化(tutorial):

 FileOutputStream fileOut =
 new FileOutputStream("/tmp/accounts.dat");
 ObjectOutputStream out = new ObjectOutputStream(fileOut);
 out.writeObject( dataList );
 out.close();

您需要确保您的列表实现Serializable(大多数内置Java对象),并且您的Account类可能也需要实现Serializable。

答案 1 :(得分:0)

您可以考虑序列化列表吗? :○

就像本教程http://www.javapractices.com/topic/TopicAction.do?Id=57

一样

您的帐户对象需要实现Serializable。