Denne blog forklarer forskellen mellem Java System.getProperty() og System.getenv() metoder.
Hvad er System.getProperty()-metoden i Java?
Det ' System.getProperty() ” metode returnerer den værdi, der er knyttet til den angivne systemegenskab. Den består af en ' nøgle/værdi ” parformat, som de er defineret af systemadministratoren eller i konfigurationsfiler. Ejendommen kan indstilles ved hjælp af ' -D ' flag eller hvis ejendommen ikke findes, ' nul ” bliver returneret. Standard eller mest anvendte systemegenskaber sammen med deres beskrivelse er beskrevet i dette link .
Nogle af systemegenskaberne bruges i nedenstående kodestykke:
Nogle af systemegenskaberne bruges i nedenstående kodestykke:
klasse forælder {
//Initialisering af drivermetoden
offentlig statisk ugyldig vigtigste ( Snor [ ] args ) {
Snor brugernavn = System. getProperty ( 'bruger.navn' ) ;
System. ud . println ( 'Brugernavn ved hjælp af systemegenskab:' + brugernavn ) ;
Snor klassesti = System. getProperty ( 'java.class.path' ) ;
System. ud . println ( 'Den aktuelle klassesti fra rodkataloget: ' + klassesti ) ;
System. ud . println ( 'Forkert egenskab er brugt:' + System. getProperty ( 'hjem' ) ) ;
System. ud . println ( 'JRE-versionsoplysningerne: ' + System. getProperty ( 'java.runtime.version' ) ) ;
System. ud . println ( 'Arkitekturen af det nuværende system OS:' + System. getProperty ( 'os.arch' ) ) ;
}
}
Beskrivelse af ovenstående kode:
- Først hentes den rigtige ejer eller bruger af systemet ved at sende ' bruger.navn ' ejendom i ' System.getProperty() ” metode.
- Dernæst ejendommen ' java.class.path ' videregives til ' System.getProperty() ” metode til at hente stien til den aktuelle klasse fra rodmappen.
- Derefter, den falske egenskab af ' hjem ” er bestået,
- Det ' System.getProperty() ' metoden vil vise ' nul ” hvilket indikerer, at ejendommen ikke eksisterer.
- På samme måde hentes Java Runtime-versionen og systemarkitekturen ved at sende ' java.runtime.version ' og ' os.arch ', henholdsvis.
Outputtet viser, at de nødvendige værdier for systemegenskaber er blevet hentet ved hjælp af 'System.getProperty()'-metoden.
Hvad er System.getenv()-metoden i Java?
Det ' System.getenv() ” metode returnerer den tilsvarende værdi for den angivne miljøvariabel. De returnerede værdier er dynamiske og som de er indstillet af systemoperativsystemet eller af brugeren for den aktuelle session. Ligesom 'System.getProperty()'-metoden, hvis variablen ikke findes eller ikke indeholder nogen værdi, vil ' nul ” bliver returneret.
Besøg for eksempel nedenstående kode:
klasse rootClass {//Initialisering af drivermetoden
offentlig statisk ugyldig vigtigste ( Snor [ ] args ) {
System. ud . println ( 'Hentning af værdier ved hjælp af System.getenv()-metoden' ) ;
Snor midlertidig sti = System. tenv ( 'MIDLERTIDIG' ) ;
System. ud . println ( 'Mappen Sti til midlertidige filer er: ' + midlertidig sti ) ;
Snor operativ system = System. tenv ( 'NUMBER_OF_PROCESSORS' ) ;
System. ud . println ( 'Antallet af processorer Systemet indeholder: ' + operativ system ) ;
Snor windowsDirectory = System. tenv ( 'windir' ) ;
System. ud . println ( 'Visning af systemrodstien -' + windowsDirectory ) ;
}
}
Forklaring af ovenstående kodeblok:
- Først oprettes klassen med navnet ' rootClass ' og ' System.getenv() metoden bruges til at returnere stien til den midlertidige mappe ved at sende ' MIDLERTIDIG ” som en værdi.
- Derefter hentes antallet af processorer og Windows-biblioteket til systemet ved at sende ' NUMBER_OF_PROCESSORS ' og ' windir ” til henholdsvis “System.getenv()”-metoden.
Efter kompileringen:
Outputtet bekræfter, at de nødvendige miljøvariableværdier er hentet.
Forskellen mellem Java System.getProperty og System.getenv
Forskellen mellem System.getProperty() og System.getenv() metoder er beskrevet nedenfor i tabellen:
Semester | System.getProperty() | System.getenv() |
---|---|---|
Formål | Det bruges til at hente systemegenskaber, der er specifikke for JVM. | Det bruges til at hente miljøvariabler, der er specifikke for operativsystemmiljøet. |
Kilde | Systemegenskaber er typisk angivet som kommandolinjeargumenter. | Miljøvariabler indstilles i OS-miljøet. |
Adgang | Det kan hente både systemegenskaber og miljøvariabler. | Det kan kun hente miljøvariabler, og det kræver specifikke nøgler til variablen. |
Brug | Det bruges almindeligvis til at hente information om JVM, såsom Java-versionen. | Det bruges almindeligvis til at få adgang til miljøspecifikke konfigurationer eller følsomme oplysninger. |
Bærbarhed | Det er platformsuafhængigt og kan tilgås konsekvent på tværs af forskellige operativsystemer. | Variabler kan variere mellem forskellige operativsystemer og kan have forskellig adfærd. |
Konklusion
Det ' System.getProperty() ”-metoden har adgang til Java-specifikke egenskaber og systemkonfiguration. Det ' System.getenv() ” får adgang til miljøvariabler, der er defineret i operativsystemet. Begge er dog velegnede til at returnere systemrelaterede oplysninger. Desuden har de lignende formål med at hente information om systemmiljøet, men de opererer på forskellige datasæt.