0

我正在做一个 Java Messenger 供人们聊天,并且我正在寻找一种在用户计算机上记录消息档案的方法。

我有两种可能性:

  • 将对话保存在我存储在我的文档文件夹中的 XML 文件中。

  • 要使用SQlite,但问题是我不知道如何将它集成到我的安装包中,我不知道它是否很有用。

什么是最适合您的解决方案?

谢谢

4

4 回答 4

1

另一种选择是使用JavaDb,它随 Java 6(及更高版本)免费提供

在做出选择之前,您应该考虑以下问题:

  1. 大概您希望这对用户透明(即不涉及管理员)
  2. 性能是个问题吗?
  3. 如果存储架构需要迁移会发生什么
  4. 你需要事务性(不太可能,我怀疑)

等等。即使是一个简单的文本文件也很可能就足够了。也许你最好的选择是选择一个简单的解决方案(例如一个文本文件)并实现它,看看它带你走多远。但是,请提供合适的持久性级别抽象,以便您可以在将来插入不同的解决方案,而将中断降至最低。

于 2012-01-11T15:29:36.787 回答
0

使用 google 的 protocolbuffer 或 10gen 的 bson。它们更小更快。

http://code.google.com/apis/protocolbuffers/docs/javatutorial.html

http://bsonspec.org/

一个问题是这些在二进制表示中,您可能希望使存档对用户透明/可读

于 2012-01-11T16:55:18.367 回答
0

如果您使用 JAXB,则将 Java 对象与 XML 转换非常容易。您只需在类上添加一些注释,然后通过 JAXB 编组器/解组器运行它们。请参阅http://docs.oracle.com/javaee/5/tutorial/doc/bnbay.html

于 2012-01-11T16:03:04.353 回答
0

我会选择 XML 文件,因为它们更通用,并且可以在您的信使之外以或多或少的人类可读格式打开。我使用 Pidgin 进行即时消息传递,它以 XML 格式保存聊天历史记录。此外,要从您的应用程序中读取历史记录,您可以轻松地在 HTML 中进行转换以很好地显示它。

于 2012-01-11T15:33:42.430 回答