Denne bloggen forklarer forskjellen mellom Java System.getProperty()- og System.getenv()-metodene.
Hva er System.getProperty()-metoden i Java?
« System.getProperty() ”-metoden returnerer verdien knyttet til den angitte systemegenskapen. Den består av en ' nøkkel/verdi ” parformat, slik de er definert av systemadministratoren eller i konfigurasjonsfiler. Eiendommen kan settes ved hjelp av ' -D flagget eller hvis eiendommen ikke blir funnet, null ' blir returnert. Standard eller mest brukte systemegenskaper sammen med beskrivelsen er beskrevet i denne link .
Noen av systemegenskapene brukes i kodebiten nedenfor:
Noen av systemegenskapene brukes i kodebiten nedenfor:
klasse forelder {
//Initialiserer drivermetoden
offentlig statisk tomrom hoved- ( String [ ] args ) {
String brukernavn = System. getProperty ( 'bruker.navn' ) ;
System. ute . println ( 'Brukernavn som bruker systemegenskap: ' + brukernavn ) ;
String klassePath = System. getProperty ( 'java.class.path' ) ;
System. ute . println ( 'Den nåværende klassebanen fra rotkatalogen: ' + klassePath ) ;
System. ute . println ( 'Feil eiendom er brukt: ' + System. getProperty ( 'hjem' ) ) ;
System. ute . println ( 'JRE versjonsinformasjon: ' + System. getProperty ( 'java.runtime.version' ) ) ;
System. ute . println ( 'Arkitekturen til gjeldende systemoperativsystem: ' + System. getProperty ( 'os.arch' ) ) ;
}
}
Beskrivelse av koden ovenfor:
- Først hentes den virkelige eieren eller brukeren av systemet ved å sende ' bruker.navn ' eiendom i ' System.getProperty() 'metoden.
- Deretter eiendommen ' java.class.path ' sendes til ' System.getProperty() ” metode for å hente banen til gjeldende klasse fra rotkatalogen.
- Deretter, den falske egenskapen til ' hjem ' er bestått,
- « System.getProperty() ' metoden vil vise ' null ” som indikerer at eiendommen ikke eksisterer.
- På samme måte hentes Java Runtime-versjonen og systemarkitekturen ved å sende ' java.runtime.version ' og ' os.arch ', henholdsvis.
Utdataene viser at de nødvendige verdiene for systemegenskaper er hentet ved hjelp av 'System.getProperty()'-metoden.
Hva er System.getenv()-metoden i Java?
« System.getenv() ”-metoden returnerer den tilsvarende verdien for den angitte miljøvariabelen. Verdiene som returneres er dynamiske og slik de er satt av systemoperativsystemet eller av brukeren for gjeldende økt. Som 'System.getProperty()'-metoden hvis variabelen ikke finnes eller ikke inneholder noen verdi, vil ' null ' blir returnert.
Gå for eksempel til koden nedenfor:
klasse rootClass {//Initialiserer drivermetoden
offentlig statisk tomrom hoved- ( String [ ] args ) {
System. ute . println ( 'Henting av verdier ved hjelp av System.getenv()-metoden' ) ;
String midlertidig bane = System. tenv ( 'TEMP' ) ;
System. ute . println ( 'Mappen for midlertidige filer er:' + midlertidig bane ) ;
String operativsystem = System. tenv ( «NUMBER_OF_PROCESSORS» ) ;
System. ute . println ( 'Antall prosessorer Systemet inneholder: ' + operativsystem ) ;
String windowskatalog = System. tenv ( 'windir' ) ;
System. ute . println ( 'Viser systemrotbanen -' + windowskatalog ) ;
}
}
Forklaring av kodeblokken ovenfor:
- Først opprettes klassen med navnet ' rootClass ' og ' System.getenv() '-metoden brukes til å returnere banen til den midlertidige mappen ved å sende ' TEMP ' som en verdi.
- Deretter hentes antall prosessorer og Windows-katalogen for systemet ved å sende ' NUMBER_OF_PROCESSORS ' og ' windir ” til henholdsvis “System.getenv()”-metoden.
Etter kompileringen:
Utdata bekrefter at de nødvendige miljøvariabelverdiene er hentet.
Forskjellen mellom Java System.getProperty og System.getenv
Forskjellen mellom System.getProperty()- og System.getenv()-metodene er beskrevet nedenfor i tabellen:
Begrep | System.getProperty() | System.getenv() |
---|---|---|
Hensikt | Den brukes til å hente systemegenskaper som er spesifikke for JVM. | Den brukes til å hente miljøvariabler som er spesifikke for operativsystemmiljøet. |
Kilde | Systemegenskaper er vanligvis satt som kommandolinjeargumenter. | Miljøvariabler settes i OS-miljøet. |
Adgang | Den kan hente både systemegenskaper og miljøvariabler. | Den kan bare hente miljøvariabler, og den krever spesifikke nøkler for variabelen. |
Bruk | Det brukes ofte til å hente informasjon om JVM, for eksempel Java-versjonen. | Det brukes ofte for å få tilgang til miljøspesifikke konfigurasjoner eller sensitiv informasjon. |
Bærbarhet | Den er plattformuavhengig og kan nås konsekvent på tvers av forskjellige operativsystemer. | Variabler kan variere mellom ulike operativsystemer og kan ha ulik oppførsel. |
Konklusjon
« System.getProperty() ”-metoden har tilgang til Java-spesifikke egenskaper og systemkonfigurasjon. « System.getenv() ” får tilgang til miljøvariabler som er definert i operativsystemet. Begge er imidlertid egnet for å returnere systemrelatert informasjon. Dessuten har de lignende formål for å hente informasjon om systemmiljøet, men de opererer på forskjellige sett med data.