Разлика между Java System.getProperty и System.getenv?

Razlika Mezdu Java System Getproperty I System Getenv



System.getProperty() ” извлича специфичните системни свойства, съответстващи на времето за изпълнение на Java или системната конфигурация. Той предлага информация за Java средата и операционните системи за системата, на която се изпълнява. От друга страна, „ System.getenv() ” достъп до специфичните променливи на средата, дефинирани в средата на ОС. Съдържа динамична информация за системата и текущата потребителска сесия.

Този блог обяснява разликата между методите на 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() ” има достъп до променливи на средата, които са дефинирани в операционната система. И двете обаче са подходящи за връщане на информация, свързана със системата. Освен това те имат подобни цели за извличане на информация за системната среда, но работят с различни набори от данни.