java.util.prefs.Preferences简单例子

Java 的 Preferences API 提供了一种简单的方式来存储和检索用户或系统级别的首选项(键值对数据)。这些数据可以持久化存储,例如保存用户设置。

下面是一个 最简单的例子

示例:保存和读取用户首选项

import java.util.prefs.Preferences;

public class PreferencesExample {
    public static void main(String[] args) {
        // 获取用户首选项节点
        Preferences prefs = Preferences.userRoot().node("com/example");

        // 保存首选项
        prefs.put("username", "Alice"); // 存储一个字符串
        prefs.putInt("highscore", 200); // 存储一个整数

        // 读取首选项
        String username = prefs.get("username", "DefaultUser"); // 默认值为 "DefaultUser"
        int highscore = prefs.getInt("highscore", 0);           // 默认值为 0

        // 打印读取的值
        System.out.println("用户名: " + username);
        System.out.println("最高分: " + highscore);

        // 删除首选项
        prefs.remove("username");

        // 再次读取,检查默认值是否生效
        username = prefs.get("username", "DefaultUser");
        System.out.println("用户名(已删除后): " + username);
    }
}

代码运行说明

  1. 存储数据

    • prefs.put(key, value):存储一个键值对。
    • prefs.putInt(key, value):存储一个整数。
  2. 读取数据

    • prefs.get(key, defaultValue):读取数据,如果找不到键,就返回默认值。
    • prefs.getInt(key, defaultValue):读取整数数据。
  3. 删除数据

    • prefs.remove(key):删除指定键的值。
  4. 节点(Node)

    • Preferences.userRoot():获取用户级别的首选项节点。
    • .node("com/example"):指定一个自定义节点路径,避免键冲突。

运行结果示例

如果运行上述代码,输出可能如下:

用户名: Alice
最高分: 200
用户名(已删除后): DefaultUser

适用场景

  1. 保存用户设置,例如用户名、窗口大小、主题颜色等。
  2. 存储小型配置信息,不需要额外依赖配置文件。

注意事项

  • 数据存储位置:不同操作系统会有不同的存储位置,通常是操作系统的注册表或文件系统。
  • 限制:Preferences API 适合轻量级数据存储。如果需要复杂数据或大文件,推荐使用数据库或配置文件(如 JSON/XML)。
posted @ 2024-12-21 15:59  xkfx  阅读(16)  评论(0编辑  收藏  举报