Tento blog vysvětluje rozdíl mezi metodami Java System.getProperty() a System.getenv().
Co je metoda System.getProperty() v Javě?
' System.getProperty() ” vrací hodnotu spojenou se zadanou systémovou vlastností. Skládá se z „ klíč/hodnota ” párový formát, jak jsou definovány správcem systému nebo v konfiguračních souborech. Vlastnost lze nastavit pomocí „ -D příznak ” nebo pokud vlastnost není nalezena, znak “ nula “ se vrátí. Zde jsou popsány výchozí nebo nejčastěji používané vlastnosti systému spolu s jejich popisem odkaz .
Některé z vlastností systému jsou použity v níže uvedeném úryvku kódu:
Některé z vlastností systému jsou použity v níže uvedeném úryvku kódu:
třída rodič {
//Inicializace metody ovladače
veřejnost statický prázdnota hlavní ( Tětiva [ ] argumenty ) {
Tětiva uživatelské jméno = Systém. getProperty ( 'user.name' ) ;
Systém. ven . println ( 'Uživatelské jméno pomocí systémové vlastnosti: ' + uživatelské jméno ) ;
Tětiva classPath = Systém. getProperty ( 'java.class.path' ) ;
Systém. ven . println ( 'Aktuální cesta třídy z kořenového adresáře:' + classPath ) ;
Systém. ven . println ( 'Je použit nesprávný majetek:' + Systém. getProperty ( 'Domov' ) ) ;
Systém. ven . println ( 'Informace o verzi JRE: ' + Systém. getProperty ( 'java.runtime.version' ) ) ;
Systém. ven . println ( 'Architektura současného OS:' + Systém. getProperty ( 'os.arch' ) ) ;
}
}
Popis výše uvedeného kódu:
- Nejprve je získán skutečný vlastník nebo uživatel systému předáním „ uživatelské.jméno ” nemovitost v “ System.getProperty() “ metoda.
- Dále vlastnost „ Java.class.path “ je předán do “ System.getProperty() ” metoda k načtení cesty aktuální třídy z kořenového adresáře.
- Pak falešná vlastnost „ Domov “ je předán,
- ' System.getProperty() “ metoda zobrazí “ nula “, což znamená, že vlastnost neexistuje.
- Stejným způsobem se verze Java Runtime a architektura systému získávají předáním „ java.runtime.version ' a ' os.arch “, resp.
Výstup ukazuje, že požadované hodnoty vlastností systému byly získány pomocí metody “System.getProperty()”.
Co je metoda System.getenv() v Javě?
' System.getenv() ” metoda vrací odpovídající hodnotu pro zadanou proměnnou prostředí. Vrácené hodnoty jsou dynamické a tak, jak jsou nastaveny operačním systémem systému nebo uživatelem pro aktuální relaci. Stejně jako metoda „System.getProperty()“, pokud proměnná není nalezena nebo neobsahuje žádnou hodnotu, „ nula “ se vrátí.
Navštivte například níže uvedený kód:
třída rootClass {//Inicializace metody ovladače
veřejnost statický prázdnota hlavní ( Tětiva [ ] argumenty ) {
Systém. ven . println ( 'Načítání hodnot pomocí metody System.getenv()' ) ;
Tětiva dočasná cesta = Systém. tenv ( 'TEMP' ) ;
Systém. ven . println ( 'Cesta ke složce dočasných souborů je: ' + dočasná cesta ) ;
Tětiva operační systém = Systém. tenv ( „NUMBER_OF_PROCESSORS“ ) ;
Systém. ven . println ( 'Počet procesorů, které systém obsahuje:' + operační systém ) ;
Tětiva Windows Directory = Systém. tenv ( 'windir' ) ;
Systém. ven . println ( 'Zobrazení systémové kořenové cesty -' + Windows Directory ) ;
}
}
Vysvětlení výše uvedeného bloku kódu:
- Nejprve se vytvoří třída s názvem „ rootClass “ a „ System.getenv() ” metoda se používá k vrácení cesty k dočasné složce předáním “ TEPL “ jako hodnotu.
- Dále je načten počet procesorů a adresář Windows pro systém předáním „ NUMBER_OF_PROCESSORS ' a ' windir ” na metodu “System.getenv()”.
Po kompilaci:
Výstup potvrzuje, že byly načteny požadované hodnoty proměnných prostředí.
Rozdíl mezi Java System.getProperty a System.getenv
Rozdíl mezi metodami System.getProperty() a System.getenv() je popsán níže v tabulce:
Období | System.getProperty() | System.getenv() |
---|---|---|
Účel | Používá se k načtení vlastností systému specifických pro JVM. | Používá se k načtení proměnných prostředí specifických pro prostředí operačního systému. |
Zdroj | Vlastnosti systému se obvykle nastavují jako argumenty příkazového řádku. | Proměnné prostředí se nastavují v prostředí OS. |
Přístup | Může načíst jak systémové vlastnosti, tak proměnné prostředí. | Může načíst pouze proměnné prostředí a vyžaduje specifické klíče pro proměnnou. |
Používání | Běžně se používá k získávání informací o JVM, jako je verze Java. | Běžně se používá pro přístup ke konfiguracím specifickým pro prostředí nebo citlivým informacím. |
Přenosnost | Je nezávislý na platformě a lze k němu přistupovat konzistentně napříč různými operačními systémy. | Proměnné se mohou lišit mezi různými operačními systémy a mohou mít různé chování. |
Závěr
' System.getProperty() ” má přístup ke specifickým vlastnostem jazyka Java a konfiguraci systému. ' System.getenv() ” přistupuje k proměnným prostředí, které jsou definovány v operačním systému. Oba jsou však vhodné pro vracení informací souvisejících se systémem. Kromě toho mají podobné účely pro získávání informací o systémovém prostředí, ale pracují s různými sadami dat.