Java,如何在永久文件中保存值并从中加载

Java,如何在永久文件中保存值并从中加载,java,Java,我希望能够从保存的文件中提取值,并且可以在程序内或程序外对其进行编辑和添加 只是一个基本的值列表 this = that this2 = that2 this3 = that3 然后查询这个,并从中得到它 执行此操作的最佳方法是什么?如果您使用自己的文件,则可以使用任一属性;或首选项(如果希望位置为默认位置) 比较了这两种API 至于值的类型,理论上任何东西都可以存储(通过序列化为字符串),但API最适合基本类型,如字符串、整数等 在您的情况下,我建议使用属性,因为它们使用文本文件(您提供的名

我希望能够从保存的文件中提取值,并且可以在程序内或程序外对其进行编辑和添加

只是一个基本的值列表

this = that
this2 = that2
this3 = that3
然后查询这个,并从中得到它


执行此操作的最佳方法是什么?

如果您使用自己的文件,则可以使用任一属性;或首选项(如果希望位置为默认位置)

比较了这两种API

至于值的类型,理论上任何东西都可以存储(通过序列化为字符串),但API最适合基本类型,如字符串、整数等


在您的情况下,我建议使用属性,因为它们使用文本文件(您提供的名称),您可以使用任何工具编辑该文件。首选项可能存储在Windows注册表中(据我所知),这可能不适合您。

如果您想使用首选项,下面是一些示例代码:

在您的类MyClass中,声明

private Preferences preferences = Preferences.userNodeForPackage(MyClass.class);
private final String item1 = "item1"; // These are the keys (names) to identify your
private final String item2 = "item2"; // items in storage.
此代码将检索一个值

preferences.getInt(item1, 0); // the 0 is a default that will be returned 
                              // if a stored value can't be retrieved.
preferences.putInt(item1, 4); // store an int in item1
此代码将存储一个值

preferences.getInt(item1, 0); // the 0 is a default that will be returned 
                              // if a stored value can't be retrieved.
preferences.putInt(item1, 4); // store an int in item1
如@extranon所述,在Windows上,这些将存储在注册表中。其他系统可能使用存储在用户主目录中的文件。我只显示存储和检索
int
s,但您也可以存储许多其他基本类型


您应该查看
Preferences.userNodeForPackage()
的文档,以完全了解它的功能。这会将存储的项目与您的应用程序/类关联。

您可以通过查询更具体一些吗