Java保存简单的数据

时间:2017-06-13 17:50:59

标签: java database save randomaccessfile

我需要保存来自java桌面应用程序的数据。数据的主要部分是大约50个标签的文本。它分布在5个Java GUI类中。 Rest是一些简单的应用程序设置。

现在我不确定如何保护这些数据。一位朋友告诉我使用随机访问数据并写一些" serializable"宾语。目前我正在使用.txt和fileReader / writer。但是,如果你想通过每次更新搜索.txt中的位置,这对于50-100数据来说是不切实际的。这是随机访问数据的同样问题。 我想过使用某种类似的嵌入式数据库,例如" h2"但是现在我不知道如果对于如此小的程序来说这太复杂了。

另一个问题是如何将所有标签的文本放在程序开头。我正在考虑的一种方法是拥有一个包含确定位置的所有标签的大清单,并在读完该列表中的任何数据后设置实验室。另一种方法是给每个Label一个id。 但也许有更好的方法。但我现在不知道如何通过从数据中读取的名称来访问标签。

用于保存可序列化对象。我可以保护所有gui-object,还是需要将se数据合并到一个类中?

也许有人可以给出一个很好的建议=)

1 个答案:

答案 0 :(得分:1)

对于如此少量的标签,我只会将所有数据保存在内存中。在应用程序初始化时加载文件,并在每次编辑时从头开始写入整个文件

(如果你担心在写入期间断电和随机崩溃时的可靠性,你需要在这里小心。例如,将新数据写入另一个文件fsync()然后以原子方式将新文件重命名为所需的文件名。)

我不确定我是否理解你的序列化问题 - 但似乎你有某种语言翻译层告诉gui元素要显示什么。如果是,那么是 - 我会将标签存储在一个中心类(比如LablesMap)中,让其他类使用一些常量键来引用该类中的数据。例如,

myButton.setText(labelsMap.get(CANCEL_BUTTON_LABEL)

其中CANCEL_BUTTON_LABEL是常量或枚举值。