Java 如何使用首选项 API?这些变量存储在哪里?

标签 java preferences

假设我有以下内容

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);
  1. 下次执行我的程序时,这个变量是否持续存在?
  2. 这些变量存储在哪里?
  3. 使用它的正确方法是什么?
  4. 该方法是否比使用属性文件更好?

最佳答案

  1. 是的,该值是持久的,但仅对用户有效。它不会供其他用户使用。
  2. 这是特定于操作系统的。对于 Windows,它使用注册表,对于 Linux,我相信它使用用户 root 中的隐藏文件,尽管我不是 100% 确定。
  3. 你的问题中有一个很好的例子。
  4. 不同,而不是更好。首选项是一种透明地存储应用程序设置的方式。这些设置可能会在运行时由用户更新(例如,您可以使用 prefs 来存储用户特定的设置)。首选项并不意味着可以在应用程序之外进行编辑。属性文件倾向于存储特定于应用程序的硬设置。这些设置对于每个用户都是相同的,并且不会经常更改。属性文件是文本文件,往往伴随应用程序部署。您可以使用文本编辑器轻松编辑它们。应用程序很少更新属性文件。

关于Java 如何使用首选项 API?这些变量存储在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10246503/

相关文章:

java - Java 中的括号

android - 我的应用程序设置屏幕使用首选项或 sqlite 数据库是什么

android - 使用设置 fragment ,操作栏覆盖顶部首选项

Android PreferenceFragmentCompat 空格

java - 新的Java开发人员应该首先学习什么。.作为该领域的新手,作为Java开发人员应遵循的逐步过程是什么?

java - 所有 Android 类的实际基类是什么?

java - apache fop 嵌入式文件声明中的 Xslt 变量

Java 集合排序加上手动排序

安卓 EditTextPreference onclick

javascript - 通过 Web 应用程序在客户端存储用户偏好的标准方法