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

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

25 голосов
/ 24 августа 2009

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

Ответы [ 2 ]

34 голосов
/ 24 августа 2009

Для 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" properties

13 голосов
/ 01 декабря 2015

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

userRoot

  • Windows (32 бита): HKEY_CURRENT_USER\Software\JavaSoft\Prefs
  • Windows (64-битная) с JVM (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.)
...