Java编程 - 保存/读取应用程序数据的最佳方法

swe*_*aty 5 java file-io load save

如果问题已经得到解答,请原谅这个问题,但我一直在网上搜索过去一小时试图解决这个问题.

我正在努力回到Java编程,我正在努力了解保存/读取我将在我的应用程序中存储的数据的最佳方法.我会将所有内容放入文本文件中并在应用程序启动时全部读取并在退出时保存所有内容吗?我认为如果应用程序太大,可能会占用太多内存?

Phi*_*ipp 6

这取决于你有多少数据.

当您想要存储一些键/值对(如某些用户首选项)时,可以使用Preferences类,该类是使用Windows上的注册表,Linux上的配置文件以及其他任何将用户首选项存储在其他上的首选方法实现的. plattforms.

如果您的实际数据对于注册表而言太多而不足以保证数据库(大约几MB的数据),则使用一个或多个平面文件可能是一种解决方案.当数据很复杂时,使用像XML这样的标准化格式而不是自制的东西可能是个好主意.Java具有允许轻松解析和序列化XML的类.另一种快速而肮脏的解决方案是使用ObjectStream来保存和恢复整个对象.这很容易实现,但可能效率不高,因为它存储了很多可能不必要的元信息.

但是当你拥有大量数据时(比你完全阅读和写入更加舒适),使用数据库可能是一个聪明的举动.数据库允许您轻松访问大量数据(以几GB为单位),并为您提供许多免费的功能,这些功能本身很难实现(比如使用索引搜索记录).数据库并不神奇.他们还使用文件来存储他们的数据(但是具有非常聪明的结构的文件).您可以自己复制数据库的每个功能.但是,当你可以使用现有的解决方案时,为什么要重新发明轮子呢?


The*_*ook 5

我会说如果你需要存储一些信息,你可以使用属性文件.

如果您需要存储比仅仅属性更复杂的结构,我建议使用数据库(HSQL,Oracle,Mysql,MSSQL等).根据您的需要.