偏好的API存储

如果我使用偏好API存储用户或系统首选项,那么它们存储在Windows和Unix上?

    对于Windows,systemRoot和userRoot分别存储在HKEY_LOCAL_MACHINE \ SOFTWARE \ JavaSoft \ PrefsHKEY_CURRENT_USER \ Software \ JavaSoft \ Prefs中

    对于Unix,systemRoot和userRoot分别存储在“/etc/.java”“$ {user.home} /。java / .userPrefs”中

    请注意,对于Unix,位置可以通过指定“java.util.prefs.userRoot”“java.util.prefs.systemRoot”属性

    我不得不延长n002213fs的答案,因为在我看来,存储位置是一个很大的混乱。 请注意,Windows将其保存在Windows注册表中,并将其保存在prefs.xml文件中。

    userRoot

    • Windows(32Bit): HKEY_CURRENT_USER\Software\JavaSoft\Prefs
    • 使用JVM(64位)的Windows(64位): HKEY_CURRENT_USER\Software\JavaSoft\Prefs
    • Windows(64位)与JVM(32位): HKEY_CURRENT_USER\Software\Wow6432Node\JavaSoft\Prefs
    • Unix: System.getProperty("java.util.prefs.userRoot") (如果以前的值没有设置) ~/.java/.userPrefs

    SYSTEMROOT

    • Windows(32位): HKEY_LOCAL_MACHINE\Software\JavaSoft\Prefs
    • Windows(64位)与JVM(64位): HKEY_LOCAL_MACHINE\Software\JavaSoft\Prefs
    • Windows(64位)与JVM(32位): HKEY_LOCAL_MACHINE\Software\Wow6432Node\JavaSoft\Prefs
    • Unix: System.getProperty("java.util.prefs.systemRoot") (如果以前的值没有设置) System.getProperty("java.home")+"/.systemPrefs"System.getProperty("java.home")可能是/etc/.java/ ,你可以在$JAVA_HOME的终端中检查它。)