System.getProperty()
Возвращает системное свойство JVM: версию Java, имя ОС или своё свойство, заданное через -D.
Доступно с: Java 1.0
Синтаксис
public static String getProperty(String key, String def)Параметры
| Параметр | Тип | Описание |
|---|---|---|
| key | String | Имя свойства, например java.version или app.mode. |
| def | String | Необязательное значение по умолчанию, если свойства нет. |
Возвращаемое значение
StringЗначение свойства, значение по умолчанию или null.
Примеры
Стандартные свойства JVM (значения зависят от компьютера):
void main() {
IO.println(System.getProperty("java.version"));
IO.println(System.getProperty("os.name"));
}Результат:
25.0.4.1
Windows 10Своё свойство передают ключом -D перед именем файла: java -Dapp.mode=test Main.java. Второй аргумент — значение по умолчанию:
void main() {
IO.println(System.getProperty("app.mode", "dev"));
IO.println(System.getProperty("app.debug", "false"));
}Результат:
test
falseПримечания
Свойства относятся к JVM, а переменные окружения — к операционной системе; читаются они разными методами. Полезные ключи: java.version, os.name, user.home, user.dir (текущая папка), line.separator. System.setProperty() меняет свойство во время работы программы. Готовые обёртки: Integer.getInteger("app.port", 8080) и Boolean.getBoolean("app.debug") читают свойство и сразу превращают его в число или логическое значение.
См. также
- System.getenv() — Возвращает значение переменной окружения или null, если такой переменной нет.
- System.exit() — Немедленно завершает программу с заданным кодом выхода.
- Integer.parseInt() — Превращает строку с целым числом в int.
Вопросы и ответы по теме
В учебнике
- Аргументы, окружение и код завершения — Как Java-программа получает настройки снаружи — аргументы командной строки, переменные окружения System.getenv, системные свойства System.getProperty и -D, код завершения System.exit.