Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/358.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 首选API存储_Java_Preferences - Fatal编程技术网

Java 首选API存储

Java 首选API存储,java,preferences,Java,Preferences,如果我使用存储用户或系统首选项,它们存储在Windows和Unix上的何处?对于Windows systemRoot和userRoot分别存储在HKEY\U LOCAL\U MACHINE\SOFTWARE\JavaSoft\Prefs和HKEY\U CURRENT\U user\SOFTWARE\JavaSoft\Prefs中 对于Unix,systemRoot和userRoot分别存储在“/etc/.java”和“${user.home}/.java/.userPrefs”中 请注意,对于U

如果我使用存储用户或系统首选项,它们存储在Windows和Unix上的何处?

对于Windows systemRoot和userRoot分别存储在HKEY\U LOCAL\U MACHINE\SOFTWARE\JavaSoft\PrefsHKEY\U CURRENT\U user\SOFTWARE\JavaSoft\Prefs

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


请注意,对于Unix,可以通过指定“java.util.prefs.userRoot”“java.util.prefs.systemRoot”属性来更改位置,因为在我看来,存储位置是一团乱。 请注意,Windows将其保存在Windows注册表中,Unix将其保存在prefs.xml-files中

用户根
  • Windows(32位):
    HKEY\U当前\U用户\Software\JavaSoft\Prefs
  • 带JVM(64位)的Windows(64位):
    HKEY\u CURRENT\u USER\Software\JavaSoft\Prefs
  • 带JVM(32位)的Windows(64位):
    HKEY\u CURRENT\u USER\Software\Wow6432Node\JavaSoft\Prefs
  • Unix:
    System.getProperty(“java.util.prefs.userRoot”)
    (如果未设置上一个值)
    ~/.java/.userPrefs
系统根
  • Windows(32位):
    HKEY\U LOCAL\U MACHINE\Software\JavaSoft\Prefs
  • 带JVM(64位)的Windows(64位):
    HKEY\U LOCAL\U MACHINE\Software\JavaSoft\Prefs
  • 带JVM(32位)的Windows(64位):
    HKEY\U LOCAL\U MACHINE\Software\Wow6432Node\JavaSoft\Prefs
  • Unix:
    System.getProperty(“java.util.prefs.systemRoot”)
    (如果未设置上一个值)
    System.getProperty(“java.home”)+“/.systemPrefs”
    System.getProperty(“java.home”)
    可能是
    /etc/.java/
    。您可以在带有
    $java\u home
    的终端中进行检查)

在我的UNIX设备(即Mac OS X)上,我将它们放在~/Library/Preferences中的多个plist文件中:Mac OS X使用java.util.prefs.MacOSXPreferencesFactory类。有关讨论,请参阅。@RichardNeish我在我的Mac的JDK:@BenC.R.Leggiero中没有看到
MacOSXPreferenceFactory
java.util.prefs.MacOSXPreferenceFactory
类应该在JDK 1.7或更高版本中的
rt.jar
中。我没有Mac电脑,因此无法进一步评论。有关源代码,请参阅。@RichardNeish嗯,我正在JDK 8上编译。。。下面是
java.util.prefs
中的所有项目:对于Unix,请注意
FileSystemPreferences
始终将
.java/.userPrefs
根添加到配置的路径上。因此,
java.util.prefs.userRoot的等效默认属性设置实际上只是主目录(或者您所说的
~
)。