Подтвердить что ты не робот

Хранилище API предпочтений

Если я использую API предпочтений для хранения пользовательских или системных настроек, где они хранятся в Windows и Unix?

4b9b3361

Ответ 1

Для Windows systemRoot и userRoot хранятся в HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Prefs и HKEY_CURRENT_USER\Software\JavaSoft\Prefs соответственно.

Для Unix systemRoot и userRoot хранятся в "/etc/.java" и "$ {user.home}/. java/.userPrefs" , соответственно.

Обратите внимание, что для Unix расположение можно изменить, указав "java.util.prefs.userRoot" и "свойства java.util.prefs.systemRoot

Ответ 2

Мне нужно продлить ответ n002213fs, потому что мне кажется, что место хранения - большой беспорядок. Обратите внимание, что Windows сохраняет его в реестре Windows, а Unix сохраняет его в файлах prefs.xml.

userRoot

  • Windows (32Bit): HKEY_CURRENT_USER\Software\JavaSoft\Prefs
  • Windows (64Bit) с JVM (64Bit): HKEY_CURRENT_USER\Software\JavaSoft\Prefs
  • Windows (64Bit) с JVM (32Bit): HKEY_CURRENT_USER\Software\Wow6432Node\JavaSoft\Prefs
  • Unix: System.getProperty("java.util.prefs.userRoot") или (если предыдущее значение не установлено) ~/.java/.userPrefs

SystemRoot

  • Windows (32Bit): HKEY_LOCAL_MACHINE\Software\JavaSoft\Prefs
  • Windows (64Bit) с JVM (64Bit): HKEY_LOCAL_MACHINE\Software\JavaSoft\Prefs
  • Windows (64Bit) с JVM (32Bit): 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. )