我试图在java中存储一些首选项,但是我收到一个编译错误,指向注册表权限问题(至少在Windows上运行时)。编译错误是:
WARNING: Could not open/create prefs root node Software\JavaSoft\Prefs at root 0x80000002. Windows RegCreateKeyEx(...) returned error code 5.
许多其他解决方案指向注册表编辑,但这对用户来说是不可接受的解决方案,也不是用户以管理员身份运行。
以下是代码段:
// Create Place to store prefs
Preferences prefs = Preferences.userNodeForPackage(GetFiles.class);
final String PREF_DATABASE = "Directory Location of Database";
final String PREF_DIRECTORY = "Directory to Scan for Pol1310";
prefs.put(PREF_DIRECTORY, "C:\\Users\\Al\\My Documents");
String defaultValue = "test";
System.out.println("This is the dir " +prefs.get(PREF_DIRECTORY, defaultValue));
错误发生在这一行:
final String PREF_DATABASE = "Directory Location of Database";
我实际上想知道是否因为它是一个" final"字符串,它已经设置然后创建错误,因为printlin的输出正确显示C:\ Users \ Al \ My Documents - 不是默认值" test"。
干杯
-Al