В этом блоге объясняется разница между методами Java System.getProperty() и System.getenv().
Что такое метод System.getProperty() в Java?
“ System.getProperty() » возвращает значение, связанное с предоставленным системным свойством. Он состоит из « ключ/значение ” парный формат, как они определены системным администратором или в конфигурационных файлах. Свойство можно установить с помощью « -Д ' или, если свойство не найдено, ' нулевой » возвращается. Системные свойства по умолчанию или чаще всего используемые вместе с их описанием описаны в этом связь .
Некоторые свойства системы используются в приведенном ниже фрагменте кода:
Некоторые свойства системы используются в приведенном ниже фрагменте кода:
сорт родитель {
//Инициализация метода драйвера
публичный статический пустота основной ( Нить [ ] аргументы ) {
Нить имя пользователя '=' Система. получить свойство ( 'имя пользователя' ) ;
Система. вне . печать ( 'Имя пользователя, использующее системное свойство: ' + имя пользователя ) ;
Нить путь к классу '=' Система. получить свойство ( 'java.класс.путь' ) ;
Система. вне . печать ( «Текущий путь к классу из корневого каталога:» + путь к классу ) ;
Система. вне . печать ( 'Использовано неверное свойство:' + Система. получить свойство ( 'дом' ) ) ;
Система. вне . печать ( 'Информация о версии JRE: ' + Система. получить свойство ( 'java.runtime.версия' ) ) ;
Система. вне . печать ( «Архитектура текущей системной ОС:» + Система. получить свойство ( 'ос.арх' ) ) ;
}
}
Описание приведенного выше кода:
- Во-первых, реальный владелец или пользователь системы извлекается путем передачи « имя пользователя ” собственность в “ System.getProperty() метод.
- Далее свойство « java.class.path » передается в « System.getProperty() ”, чтобы получить путь к текущему классу из корневого каталога.
- Тогда ложное свойство « дом ' передается,
- “ System.getProperty() ” метод отобразит “ нулевой ” указывает на то, что свойство не существует.
- Точно так же версия среды выполнения Java и системная архитектура извлекаются путем передачи « java.runtime.версия ' и ' os.arch ', соответственно.
Вывод показывает, что необходимые значения для системных свойств были получены с помощью метода System.getProperty().
Что такое метод System.getenv() в Java?
“ Система.getenv() » возвращает соответствующее значение для указанной переменной среды. Возвращаемые значения являются динамическими и устанавливаются операционной системой системы или пользователем для текущего сеанса. Подобно методу «System.getProperty()», если переменная не найдена или не содержит значения, « нулевой » возвращается.
Например, посетите приведенный ниже код:
сорт корневой класс {//Инициализация метода драйвера
публичный статический пустота основной ( Нить [ ] аргументы ) {
Система. вне . печать ( «Получение значений с использованием метода System.getenv()» ) ;
Нить временный путь '=' Система. тенв ( 'ТЕМП' ) ;
Система. вне . печать ( 'Путь к папке временных файлов: ' + временный путь ) ;
Нить Операционная система '=' Система. тенв ( 'NUMBER_OF_PROCESSORS' ) ;
Система. вне . печать ( 'Система с количеством процессоров содержит: ' + Операционная система ) ;
Нить windowsDirectory '=' Система. тенв ( 'виндир' ) ;
Система. вне . печать ( 'Отображение системного корневого пути -' + windowsDirectory ) ;
}
}
Объяснение приведенного выше блока кода:
- Сначала создается класс с именем « корневой класс ” и “ Система.getenv() ” используется для возврата пути к временной папке путем передачи “ ТЕМП » как ценность.
- Затем количество процессоров и каталог Windows для системы извлекается путем передачи « NUMBER_OF_PROCESSORS ' и ' ветер ” в метод “System.getenv()” соответственно.
После компиляции:
Выходные данные подтверждают, что требуемые значения переменных среды получены.
Разница между Java System.getProperty и System.getenv
Разница между методами System.getProperty() и System.getenv() описана ниже в таблице:
Срок | System.getProperty() | Система.getenv() |
---|---|---|
Цель | Он используется для получения системных свойств, специфичных для JVM. | Он используется для получения переменных среды, специфичных для среды операционной системы. |
Источник | Системные свойства обычно задаются как аргументы командной строки. | Переменные среды задаются в среде ОС. |
Доступ | Он может извлекать как системные свойства, так и переменные среды. | Он может извлекать только переменные среды и требует определенных ключей для переменной. |
Применение | Он обычно используется для получения информации о JVM, например о версии Java. | Он обычно используется для доступа к конфигурациям среды или конфиденциальной информации. |
Портативность | Он не зависит от платформы, и к нему можно последовательно обращаться в разных операционных системах. | Переменные могут различаться в разных операционных системах и могут иметь разное поведение. |
Заключение
“ System.getProperty() ” имеет доступ к специфичным для Java свойствам и конфигурации системы. “ Система.getenv() ” обращается к переменным среды, которые определены в операционной системе. Однако оба подходят для возврата системной информации. Более того, они имеют схожие цели для получения информации о системной среде, но работают с разными наборами данных.