假设我有以下内容
Preferences prefs = Preferences.userRoot().node(this.getClass().getName());
String ID1 = "Test1";
System.out.println(prefs.getBoolean(ID1, true));
prefs.putBoolean(ID1, false);
//prefs.remove(ID1);
- 下次执行程序时,此变量是否持久?
- 这些变量存储在哪里?
- 利用它的正确方法是什么?
- 该方法是否比使用属性文件更好?
- 是
- 的,该值是永久性的,但仅适用于用户。其他用户不会在那里。
- 这是特定于操作系统的。对于Windows,它使用注册表,对于Linux,我相信它使用用户root中的隐藏文件,尽管我不是100%确定。
- 你的问题中有一个很好的例子。
- 它是不同的,而不是更好的。首选项是一种透明地存储应用程序设置的方法。用户可以在运行时更新这些设置(例如,您可以使用首选项来存储用户特定的设置)。首选项并不意味着在应用程序外部可编辑。属性文件倾向于存储特定于应用程序的硬设置。这些设置对于每个用户都是相同的,并且往往不会经常更改。属性文件是文本文件,往往在部署时随应用程序一起提供。您可以使用文本编辑器轻松编辑它们。应用程序更新属性文件的情况相当罕见。