我正在开发一个项目,并有一个可观察的列表,用于填充JavaFX表。这很好用,但我试图使用java.util.prefs API将此表的内容保存到首选项文件。我可以保存字符串,int等...但我不知道如何保存列表。
我有ObservableList<Account> dataList
然后我会添加帐户信息。然后使用它来填充JavaFX表。有没有办法将dataList存储到prefs而不进行迭代并将其保存为一个长字符串?
我的第一种方法是迭代,在每个条目之间添加一个特殊的char,这样我就可以在以后从prefs加载时拆分字符串。
由于
答案 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。