9

我正在尝试找到保存简单应用程序状态的最佳方法。从数据库的角度来看,有 4/5 的表带有日期字段和关系。

因为应用程序很简单,并且我希望用户可以选择移动数据(usb pen、dropbox 等),所以我想将所有数据放在一个文件中。

执行此操作的最佳方式/lib 是什么?

XML 通常是最好的格式(可读性和开放性),但如果不使用 SAX/DOM,我还没有找到任何好的库。

4

4 回答 4

12

如果您想使用 XML,请查看XStream,用于将 Java 对象简单序列化为 XML。这是“两分钟教程”

如果您想要一些简单的东西,标准的Java 属性格式也可以作为存储/加载一些小数据的一种方式。

于 2009-02-04T21:07:46.760 回答
1

考虑使用 JDK 附带的普通 JAXB 注释:

@XmlRootElement  
private class Foo {  
    @XmlAttribute  
    private String text = "bar";
}

这是我的一篇博文,详细介绍了 JAXB 的这种简单用法(它还提到了一种更“优雅”的基于 JAXB 的方法——以防您需要更好地控制 XML 模式,例如保证向后兼容性)

于 2009-02-04T21:28:16.453 回答
0

您可能会考虑的其他 2 个选项 -

  • Hsqldb 是一个用 java 编写的小型 sql db。与您的目的更相关的是,它可以配置为简单地写入 csv 文件作为数据存储,因此您可以想象将其文本输出用作便携式数据存储并仍然使用 sql,如果您愿意的话。
  • 第二种选择可能是将数据存储直接写入序列化文件,直接或通过像 prevayler 之类的库。非常好的性能和简单的实现,缺点是格式的脆弱性和不透明性。

但是如果数据足够小,xml 可能就少了很多麻烦。

于 2009-02-04T21:21:58.417 回答
0

如果您不需要为数据提供语义含义,那么 XML 可能是一个错误的选择。我建议使用无脂肪替代JSON,它更自然地为数据结构构建。

于 2012-05-11T17:47:55.913 回答