java - 有没有更好的方法...(Java,保存数据)

标签 java file save

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

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

我只是想知道是否有更好的方法来完成这一切,以及我使用这种方法是否在浪费时间。

最佳答案

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

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

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

关于java - 有没有更好的方法...(Java,保存数据),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7477156/

相关文章:

c++ - 一点一点地写一个文件

c# - 如何将 %programfiles%\directory\tool.exe 形式的字符串转换为 C#/.net 中可用的文件名?

python - 仅当模型在 TensorFlow 中显示改进时才保存模型检查点

C# DataGridView(使用数据源填充)不保存到数据库

java - 无法在java中解析美国格式的日期

java - 解决Java算法问题的通用类/源代码?

java - 使用 ActiveDirectoryLdapAuthenticationProvider 和嵌入式 ldif 的 Spring 身份验证

java - Android:上传文件和填写POST正文一起

file - 将文件传输到网络 worker : DataCloneError: The object could not be cloned

android - 如何保存 Canvas 绘图并在单击按钮时显示它