繁体   English   中英

有没有更好的方法……(Java,保存数据)

[英]Is there a better way… (Java, saving data)

我目前为工作中的经理写了一个小程序。 它输入发票编号并将其创建到一个按钮中,并连续向下显示。 然后输入批准日期并将其创建到标签中(与创建的按钮一致)。 最后,为到期日期(30天后)创建标签(并再次使用创建的按钮在线)。

它将数据保存到3个文件中(按钮1个,第一个标签1个,第二个标签1个)。 现在,我正在使用“ ObjectOutputStream”保存按钮/标签的列表。 打开程序后,它将重新加载文件中的所有数据,并将它们“重新打印”到屏幕上。 该程序还为用户提供了删除RO的选项,在这种情况下,我将重写数据文件减去已删除的RO。

我只是想知道是否有更好的方法来完成所有这些操作,是否在浪费时间使用这种方法。

当目标是长期保存数据时,我宁愿使用比Java序列化更可重用的数据格式。

序列化非常适合通过网络发送完整的对象,或者在要重新启动JVM或暂时需要更多内存等情况下快速/临时将完整对象保存在磁盘上。 但是,长期保存数据并不是很好。 当您更改/更新保存数据的类时,现有数据将不可用。

考虑XML(与JAXB结合)或JSON(与Gson结合)或嵌入式SQL数据库(与JDBC结合)。 这使您可以更轻松,更精细地控制向后兼容性以及其他程序/语言的可重用性。

您应该保存数据,而不是组件。 您可以在加载时构造按钮,标签等,并且仅保存发票编号,批准日期和有效期吗?

另外,您可以将所有数据存储在arraylist或hashmap中,而仅保存该对象,而不是保存1000个较小的对象。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM