Diferència entre Java System.getProperty i System.getenv?

Diferencia Entre Java System Getproperty I System Getenv



El ' System.getProperty() ” recupera les propietats específiques del sistema corresponents al temps d'execució de Java o a la configuració del sistema. Ofereix informació sobre l'entorn Java i els sistemes operatius del sistema en què s'està executant. D'altra banda, el ' System.getenv() ” accedeix a les variables d'entorn específiques definides a l'entorn del sistema operatiu. Conté informació dinàmica sobre el sistema i la sessió actual de l'usuari.

Aquest bloc explica la diferència entre els mètodes Java System.getProperty() i System.getenv().

Què és el mètode System.getProperty() a Java?

El ' System.getProperty() ” El mètode retorna el valor associat a la propietat del sistema proporcionada. Consta d'un ' clau/valor ” format de parella, tal com els defineix l'administrador del sistema o als fitxers de configuració. La propietat es pot configurar amb l'ajuda del ' -D ” o si no es troba la propietat, el “ nul ” es retorna. A continuació es descriuen les propietats del sistema predeterminades o més utilitzades juntament amb la seva descripció enllaç .







Algunes de les propietats del sistema s'utilitzen al fragment de codi següent:



Algunes de les propietats del sistema s'utilitzen al fragment de codi següent:



classe pare {
//Inicialitzant el mètode del controlador
públic estàtica buit principal ( Corda [ ] args ) {
Corda nom d'usuari = Sistema. getProperty ( 'user.name' ) ;
Sistema. fora . imprimirln ( 'El nom d'usuari utilitzant la propietat del sistema:' + nom d'usuari ) ;

Corda classPath = Sistema. getProperty ( 'java.class.path' ) ;
Sistema. fora . imprimirln ( 'La ruta de classe actual des del directori arrel: ' + classPath ) ;

Sistema. fora . imprimirln ( 'S'utilitza una propietat incorrecta:' + Sistema. getProperty ( 'casa' ) ) ;

Sistema. fora . imprimirln ( 'Informació de la versió de JRE:' + Sistema. getProperty ( 'java.runtime.version' ) ) ;
Sistema. fora . imprimirln ( 'L'arquitectura del sistema operatiu actual del sistema:' + Sistema. getProperty ( 'os.arch' ) ) ;
}
}

Descripció del codi anterior:





  • En primer lloc, el propietari o usuari real del sistema es recupera passant el ' user.name ' propietat a ' System.getProperty() ” mètode.
  • A continuació, la propietat ' java.class.path ' es passa a ' System.getProperty() ” mètode per recuperar la ruta de la classe actual des del directori arrel.
  • Aleshores, la falsa propietat de ' casa ” s'aprova,
  • El ' System.getProperty() El mètode ' mostrarà ' nul ” indicant que la propietat no existeix.
  • De la mateixa manera, la versió de Java Runtime i l'arquitectura del sistema s'estan recuperant passant el ' java.runtime.version ' i ' os.arch ”, respectivament.

La sortida mostra que els valors necessaris per a les propietats del sistema s'han recuperat amb l'ajuda del mètode 'System.getProperty()'.



Què és el mètode System.getenv() a Java?

El ' System.getenv() ” retorna el valor corresponent per a la variable d'entorn especificada. Els valors retornats són dinàmics i tal com els estableix el sistema operatiu del sistema o l'usuari per a la sessió actual. Igual que el mètode 'System.getProperty()' si la variable no es troba o no conté cap valor, el ' nul ” es retorna.

Per exemple, visiteu el codi següent:

classe rootClass {
//Inicialitzant el mètode del controlador
públic estàtica buit principal ( Corda [ ] args ) {
Sistema. fora . imprimirln ( 'Recuperació de valors mitjançant el mètode System.getenv()' ) ;

Corda temporaryPath = Sistema. tenv ( 'TEMP' ) ;
Sistema. fora . imprimirln ( 'La ruta de la carpeta de fitxers temporals és: ' + temporaryPath ) ;

Corda sistema operatiu = Sistema. tenv ( 'NUMBER_OF_PROCESSORS' ) ;
Sistema. fora . imprimirln ( 'El nombre de processadors del sistema conté: ' + sistema operatiu ) ;

Corda windowsDirectory = Sistema. tenv ( 'windir' ) ;
Sistema. fora . imprimirln ( 'Mostrar la ruta arrel del sistema -' + windowsDirectory ) ;
}
}

Explicació del bloc de codi anterior:

  • Primer, es crea la classe amb el nom ' rootClass ' i la ' System.getenv() ” s'utilitza per retornar el camí de la carpeta temporal passant el “ TEMP ” com a valor.
  • A continuació, es recupera el nombre de processadors i el directori de Windows per al sistema passant ' NUMBER_OF_PROCESSORS ' i ' windir ” al mètode “System.getenv()”, respectivament.

Després de la compilació:

La sortida confirma que s'han recuperat els valors de variable d'entorn necessaris.

Diferència entre Java System.getProperty i System.getenv

La diferència entre els mètodes System.getProperty() i System.getenv() es descriu a continuació a la taula:

Terme System.getProperty() System.getenv()
Propòsit S'utilitza per recuperar propietats del sistema específiques de la JVM. S'utilitza per recuperar variables d'entorn específiques de l'entorn del sistema operatiu.
Font Les propietats del sistema s'estableixen normalment com a arguments de línia d'ordres. Les variables d'entorn s'estableixen a l'entorn del sistema operatiu.
Accés Pot recuperar tant les propietats del sistema com les variables d'entorn. Només pot recuperar variables d'entorn i requereix claus específiques per a la variable.
Ús S'utilitza habitualment per recuperar informació sobre la JVM, com ara la versió de Java. S'utilitza habitualment per accedir a configuracions específiques de l'entorn o informació sensible.
Portabilitat És independent de la plataforma i es pot accedir de manera coherent en diferents sistemes operatius. Les variables poden variar entre els diferents sistemes operatius i poden tenir diferents comportaments.

Conclusió

El ' System.getProperty() ” El mètode té accés a propietats específiques de Java i a la configuració del sistema. El ' System.getenv() ” accedeix a les variables d'entorn que es defineixen al sistema operatiu. Tanmateix, tots dos són adequats per retornar informació relacionada amb el sistema. A més, tenen propòsits similars per recuperar informació sobre l'entorn del sistema, però operen amb diferents conjunts de dades.