使用java.util.prefs.Preferences保存/获取首选项会导致BackingStoreException

Dat*_*aki 1 java store exception preferences

宣告后

private static Preferences systemPrefs = Preferences.systemNodeForPackage (SomeClass.class);
Run Code Online (Sandbox Code Playgroud)

,这些代码行之一:

String someString = systemPrefs.put("someKey", "someValue");

String someString = systemPrefs.get("someKey", "someDefaultValue");
Run Code Online (Sandbox Code Playgroud)

导致此错误,在程序执行的其余部分中反复重复:

java.util.prefs.FileSystemPreferences syncWorld VARNING: Couldn't flush system prefs: java.util.prefs.BackingStoreException: /etc/.java/.systemPrefs/edu create failed.

我怀疑某处存在某种安全问题.

可能是因为某种原因这个问题特定于这台电脑吗?还有其他原因吗?

Mat*_*Mat 5

您需要root权限才能更新系统级首选项.普通用户应该只能更新用户级首选项.

  • 我尝试将第一行更改为:`private static Preferences systemPrefs = Preferences.userNodeForPackage(SomeClass.class);`并且一切运行良好=).谢谢! (2认同)