Този блог обяснява разликата между методите на Java System.getProperty() и System.getenv().
Какво представлява методът System.getProperty() в Java?
„ System.getProperty() ” метод връща стойността, свързана с предоставеното системно свойство. Състои се от „ ключ/стойност ”, както са дефинирани от системния администратор или в конфигурационните файлове. Свойството може да се настрои с помощта на „ -Д ” или ако свойството не е намерено, „ нула ” се връща. Системните свойства по подразбиране или най-често използваните заедно с тяхното описание са описани в това връзка .
Някои от системните свойства се използват в кодовия фрагмент по-долу:
Някои от системните свойства се използват в кодовия фрагмент по-долу:
клас родител {
//Инициализиране на метода на драйвера
публичен статичен невалиден основен ( низ [ ] аргументи ) {
низ потребителско име = Система. getProperty ( 'потребителско.име' ) ;
Система. навън . println ( 'Потребителско име, използващо системно свойство: ' + потребителско име ) ;
низ classPath = Система. getProperty ( 'java.class.path' ) ;
Система. навън . println ( „Текущият път на класа от основната директория:“ + classPath ) ;
Система. навън . println ( „Използвано е грешно свойство:“ + Система. getProperty ( 'У дома' ) ) ;
Система. навън . println ( „Информация за версията на JRE:“ + Система. getProperty ( 'java.runtime.version' ) ) ;
Система. навън . println ( „Архитектурата на текущата системна ОС:“ + Система. getProperty ( 'os.arch' ) ) ;
}
}
Описание на горния код:
- Първо, истинският собственик или потребител на системата се извлича чрез предаване на „ user.name ” имот в „ System.getProperty() ” метод.
- След това имотът „ java.class.path ” се предава на „ System.getProperty() ” за извличане на пътя на текущия клас от основната директория.
- Тогава фалшивото свойство на „ У дома ” е преминато,
- „ System.getProperty() ' методът ще покаже ' нула ”, което показва, че имотът не съществува.
- По същия начин версията на Java Runtime и системната архитектура се извличат чрез предаване на „ java.runtime.version ' и ' ос.арх ”, съответно.
Резултатът показва, че необходимите стойности за системните свойства са извлечени с помощта на метода „System.getProperty()“.
Какво представлява методът System.getenv() в Java?
„ System.getenv() ” метод връща съответната стойност за посочената променлива на средата. Върнатите стойности са динамични и са зададени от операционната система на системата или от потребителя за текущата сесия. Подобно на метода „System.getProperty()“, ако променливата не е намерена или не съдържа стойност, „ нула ” се връща.
Например посетете кода по-долу:
клас rootClass {//Инициализиране на метода на драйвера
публичен статичен невалиден основен ( низ [ ] аргументи ) {
Система. навън . println ( „Извличане на стойности чрез метод System.getenv()“ ) ;
низ temporaryPath = Система. tenv ( 'TEMP' ) ;
Система. навън . println ( „Пътят към папката с временни файлове е:“ + temporaryPath ) ;
низ операционна система = Система. tenv ( „NUMBER_OF_PROCESSORS“ ) ;
Система. навън . println ( 'Броят процесори Система съдържа: ' + операционна система ) ;
низ windowsDirectory = Система. tenv ( 'windir' ) ;
Система. навън . println ( 'Показване на основния път на системата - ' + windowsDirectory ) ;
}
}
Обяснение на горния кодов блок:
- Първо се създава класът с името „ rootClass “ и „ System.getenv() ' се използва за връщане на пътя на временната папка чрез предаване на ' ТЕМП ” като стойност.
- След това броят на процесорите и директорията на Windows за системата се извлича чрез подаване на „ NUMBER_OF_PROCESSORS ' и ' windir ” към метода „System.getenv()”, съответно.
След компилацията:
Резултатът потвърждава, че необходимите стойности на променливата на средата са извлечени.
Разлика между Java System.getProperty и System.getenv
Разликата между методите System.getProperty() и System.getenv() е описана по-долу в таблицата:
Срок | System.getProperty() | System.getenv() |
---|---|---|
Предназначение | Използва се за извличане на системни свойства, специфични за JVM. | Използва се за извличане на променливи на средата, специфични за средата на операционната система. |
Източник | Системните свойства обикновено се задават като аргументи на командния ред. | Променливите на средата се задават в средата на ОС. |
Достъп | Може да извлича както системни свойства, така и променливи на средата. | Може да извлича само променливи на средата и изисква специфични ключове за променливата. |
Използване | Обикновено се използва за извличане на информация за JVM, като например версията на Java. | Обикновено се използва за достъп до специфични за средата конфигурации или чувствителна информация. |
Преносимост | Той е независим от платформата и може да бъде достъпен последователно в различни операционни системи. | Променливите могат да варират между различните операционни системи и да имат различно поведение. |
Заключение
„ System.getProperty() ” има достъп до специфични за Java свойства и системна конфигурация. „ System.getenv() ” има достъп до променливи на средата, които са дефинирани в операционната система. И двете обаче са подходящи за връщане на информация, свързана със системата. Освен това те имат подобни цели за извличане на информация за системната среда, но работят с различни набори от данни.