我有一个将信息存储在JList
. 但是,当然,当应用程序关闭时,所有信息都会从内存中删除。
我正在尝试构建应用程序,以便在重新启动时包含相同的数据。那么有没有办法将这些数据存储在数据库或类似的数据库中,如果有的话?我在哪里以及如何解决这个问题?
我有一个将信息存储在JList
. 但是,当然,当应用程序关闭时,所有信息都会从内存中删除。
我正在尝试构建应用程序,以便在重新启动时包含相同的数据。那么有没有办法将这些数据存储在数据库或类似的数据库中,如果有的话?我在哪里以及如何解决这个问题?
坚持恕我直言,最简单的方法是在文件中。
Properties
如果您需要键值映射,请尝试使用。
或者,如果您要绑定更复杂的对象,我推荐使用Simple XML 序列化包。
如果数据不复杂且不大(多个对象的多个实例),您可以使用序列化将列表保存到文件中。这会让你开始。如果您的列表很大或很复杂,您可能会考虑使用数据库。在您最喜欢的搜索引擎中搜索 JDBC 将帮助您入门。
我想你想要一个普通的平面文件。这很简单; 您可以立即拥有一个。(学习曲线比数据库少得多。)而且速度很快;您甚至可以在登录数据库之前读取 1 GB 的文件。Java 序列化有点棘手,但它可以是一种非常强大的方式来保存大量复杂数据。(请参阅此处了解需要注意的事项,以及更多有用的链接。)例如,如果您想在会话之间保存大型、复杂的游戏,那么将其序列化是可行的方法。无需将面向对象结构转换为关系结构。
使用数据库: 如果您想将数据添加到大文件中,或者从大文件中只读取部分数据。或者,如果其他进程要读取和修改它。
考虑一个数据库: 如果您已经将一个数据库用于其他目的。如果用户可能在另一台机器上启动并且无法从上次会话中找到文件并且数据不是太广泛。或者,如果数据本质上是相关的,并且其他人可能有兴趣查看它。
因此,如果您有一个简单的情况,即用户总是从同一个目录开始,只需写入和读取一个简单的文件。如果您有大量复杂、广泛的 OO 数据,即使不容易做到,也要使用平面文件——您需要速度。否则,考虑一个数据库。