在 Windows 上,你可以从 java.util.prefs.Preferences 访问 Java 首选项,并将其存储在注册表中。那么在 Mac OS X 上,这些首选项存储在哪里?
答案是:它们存储在用户的 Library 目录下的 Preferences 文件夹中。
在 Windows 上,你可以从 java.util.prefs.Preferences 访问 Java 首选项,并将其存储在注册表中。那么在 Mac OS X 上,这些首选项存储在哪里?
答案是:它们存储在用户的 Library 目录下的 Preferences 文件夹中。
Preferences API生成的首选项文件名为
com.apple.java.util.prefs
。用户的首选项文件存储在其主目录下(~/Library/Preferences/
)。系统首选项存储在/Library/Preferences/
中,仅当用户为管理员时才会写入磁盘。
另外需要注意,如果偏好设置嵌套得足够深,它将不会直接存储在 com.apple.java.util.prefs
中,而是存储在自己的文件中。例如,如果你有一个节点 /a/b/c
,则该节点的键值对将存储在 a.b.c.plist
文件中。
该文件可以位于 ~/Library/Preferences/
或者 /Library/Preferences/
中,与 com.apple.java.util.prefs
文件类似。
当我使用代码创建偏好对象时:
package pl.marcinchwedczuk.iunrar.gui;
public class AppPreferences {
private final Preferences preferences = Preferences
.userNodeForPackage(AppPreferences.class);
然后设置会被存储在:
/Users/$USER/Library/Preferences/pl.marcinchwedczuk.iunrar.plist
由于某些原因,macOS BigSur上缺少gui
部分。
另外,请记得在首选项对象上调用.flush()
。