Java поддерживает набор системных свойств, к которым можно получить доступ во время выполнения, выполняя программы. Каждое системное свойство представляет собой пару ключ-значение. Например, одно из таких системных свойств — «java.version»=»1.7.0_09″.
Мы можем получить все системные свойства с помощью метода System.getProperties() или же можем получить отдельное свойство с помощью метода System.getProperty(key).
Обратите внимание, что доступ к системным свойствам может быть ограничен менеджером безопасности Java и файлом политики. По умолчанию программы Java имеют неограниченный доступ ко всем системным свойствам.
1. Список системных свойств Java
Ниже приведен список важных свойств системы в каждой категории.
1.1 Свойства среды выполнения
java.домой | Домашний каталог JRE, например, «C:\Program Files\Java\jdk1.7.0_09\jre». |
java.библиотека.путь | Путь поиска библиотеки JRE для поиска собственных библиотек. Обычно, но не обязательно, берется из переменной окружения PATH. |
java.класс.путь | Путь к классу JRE, например, «.»(точка – используется для текущего рабочего каталога). |
java.ext.dirs | Путь(и) к библиотеке расширений JRE, например, «C:\Program Files\Java\jdk1.7.0_09\jre\lib\ext;C:\Windows\Sun\Java\lib\ext». |
java.версия | Версия JDK, например, 1.7.0_09. |
java.runtime.версия | Версия JRE, например 1.7.0_09-b05. |
1.2 Свойства файловой системы
файл.разделитель | Символ для разделителя каталогов файлов, например 'd:\test\test.java'. По умолчанию '\' для Windows или '/' для Unix/Mac. |
разделитель пути | символ для разделения записей пути, например, в PATH или CLASSPATH. По умолчанию используется ';' для Windows или ':' для Unix/Mac. |
линия.разделитель | Символ конца строки(или новой строки). По умолчанию — «\r\n» для Windows или «\n» для Unix/Mac OS X. |
1.3 Свойства пользователя
имя пользователя | имя пользователя. |
пользователь.home | домашний каталог пользователя. |
пользователь.dir | текущий рабочий каталог пользователя. |
1.4 Свойства операционной системы
os.имя | название ОС, например, «Windows 7». |
версия ОС | версия ОС, например, «6.1». |
os.арх | архитектура ОС, например, «x86». |
2. Получите значение системного свойства
Как обсуждалось ранее, вы можете получить список всех системных свойств с помощью System.getProperties() или также получить отдельное свойство с помощью System.getProperty(key).
2.1 Список всех системных свойств
Properties pros = System.getProperties();pros.list(System.out);
2.2. Получить значение системного свойства по его ключу
System.getProperty("java.home");
3. Установите системное свойство
В Java вы можете задать пользовательское системное свойство либо из командной строки, либо из самого кода приложения.
3.1 Использование командной строки
В данном примере приложение сможет получить доступ к свойству с ключом custom_key. Его значение будет доступно как custom_value.
$ java -Dcustom_key="custom_value" application_launcher_class
3.2 Использование кода Java
Аналогично приведенному выше примеру, после выполнения этого кода приложение сможет получить доступ к свойству с ключом custom_key. Его значение будет доступно как custom_value.
System.setProperty("custom_key", "custom_value");
Вот и все в этом базовом руководстве по чтению и записи системных свойств в Java.