CodeGym /Blog Java /Aleatoriu /Obțineți variabile de mediu în Java
John Squirrels
Nivel
San Francisco

Obțineți variabile de mediu în Java

Publicat în grup

Ce sunt variabilele de mediu?

Fiecare limbaj de programare pentru computer conține variabile și constante care alocă locații unice de memorie, conținând informații care vor fi utilizate de programe. Valorile constantelor nu sunt modificabile, dar valoarea variabilei poate fi modificată. Variabilele de mediu sunt perechea cheie/valoare a cărei valoare este setată în afara programului și referința lor este întotdeauna disponibilă programului în orice moment. Atât cheia, cât și valoarea sunt șiruri. Convențiile pentru setarea și utilizarea variabilelor de mediu diferă întotdeauna între sistemele de operare și interpreții de linie de comandă. Ele sunt întotdeauna disponibile la nivel global pentru fiecare aplicație care rulează pe sistem.

Exemplu


PATH = "C:\\WINDOWS\system32;"
Aici, Calea este variabila de mediu setată în afara programului, dar disponibilă pentru fiecare program care rulează pe Windows.

Utilizare caz

După cum știm, fiecare modificare a programului trebuie să fie executată sau re-implementată pe server, ceea ce poate produce efecte secundare nedorite în producție. Prin urmare, scopul principal al introducerii variabilelor de mediu este de a restricționa această execuție și implementare din nou și din nou.

Cum să obțineți variabile de mediu în Java?

Să vedem cum să obținem variabilele de mediu în java. Java ne oferă 2 moduri de a obține variabile de mediu în programul Java.
  1. System.getenv()

  2. System.getProperty()

Acum să le vedem pe amândouă în detaliu, unul câte unul.

System.getenv()

Metoda System.getenv() este folosită pentru a prelua toate variabilele de mediu, dar dacă un anumit nume de cheie este furnizat ca parametru, atunci acesta va prelua valoarea acesteia. java.lang.System.getenv() returnează întotdeauna harta de șiruri a tuturor variabilelor de mediu disponibile.

Declaraţie


public static String getenv(String name)
Aici, numele este parametrul folosit pentru a specifica cheia față de care aveam nevoie de valoarea.

Întoarcere

Va returna valoarea cheii sau nul dacă parametrul furnizat nu este asociat cu nicio cheie. Dacă parametrul nu este trecut, va returna toate perechile cheie/valoare disponibile.

Exemplu


import java.util.Map;
public class SystemGetEnvDemo {

   public static void main(String[] args) {

      // getting value for environment variable "PATH"
      System.out.print("System.getenv(PATH) = ");
      System.out.println(System.getenv("PATH"));

      // getting value for environment variable "TEMP" resulting in null
      System.out.print("System.getenv(TEMP) = ");
      System.out.println(System.getenv("TEMP"));
      
      //getting all environment variables using System.getenv()
      Map<String, String> env = System.getenv();
        for (String envName : env.keySet()) {
            System.out.format("%s=%s%n",
                              envName,
                              env.get(envName));
        }
   }
}

Ieșire

System.getenv(PATH) = /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin System.getenv(TEMP) = null PATH=/usr/local /sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin PROGRAMIZ_COMPILER_SERVICE_HOST=10.0.10.151 KUBERNETES_PORT=tcp://10.0.0.1:443 PROGRAMIZ_COMPILER_PORT=tcp: // 10.0.10.10. :80 TERM=xterm PROGRAMIZ_COMPILER_WEB_UI_SEVICE_PORT_80_TCP_PROTO=tcp KUBERNETES_SERVICE_HOST=10.0.0.1 PS1= PROGRAMIZ_COMPILER_WEB_UI_SEVICE_PORT_80_TCP_PORT_PORT=80 PROGRAMIZ_COMPILER_WEB_UI_SEVICE_PORT_80_TCP_PORT=80 PROGRAMIZ_ADD_TCP_80 =10.0.14.233 PROGRAMIZ_COMPILER_PORT_80_TCP=tcp://10.0.10.151:80 PROGRAMIZ_COMPILER_PORT_80_TCP_PROTO=tcp PWD=/app KUBERNETES_PORT_443_TCP=tcp://.10. :443 PROGRAMIZ_COMPILER_PORT_80_TCP_ADDR=10.0.10.151 PROGRAMIZ_COMPILER_WEB_UI_SEVICE_PORT=tcp://10.0.14.233:80 KUBERNETES_PORT_443_TCP_ADDR=10.0.0.14.233:80 KUBERNETES_PORT_443_TCP_ADDR=10.0.0.14.233:80. =10,0.14.233 PROGRAMIZ_COMPILER_PORT_80_TCP_PORT=80 KUBERNETES_PORT_443_TCP_PROTO=tcp KUBERNETES_SERVICE_PORT=443 PROGRAMIZ_COMPILER_SERVICE_PORT=80 PROGRAMIZ_COMPILER_WEB_UI_8SEVICE_1_TCP_80.31.00. 0 PROGRAMIZ_COMPILER_WEB_UI_SEVICE_SERVICE_PORT=80 HOSTNAME=programiz-compiler-deployment-58bfd77477-dtlq8 KUBERNETES_PORT_443_TCP_PORT=443 KUBERNETES_SERVICE_PORT_HTTPS=/443Hcompiler
Este posibil să obțineți o ieșire diferită în funcție de sistemul dvs. de operare.

System.getProperty()

De asemenea, putem folosi java.lang.System.getProperty() în Java pentru a prelua valoarea pentru cheia specificată transmisă ca parametru acestei metode. Această metodă este folosită pentru a prelua proprietățile sistemului, adică informații despre sistemul local și configurații. Dacă variabila de mediu este prezentă ca proprietate de sistem în java, atunci este mai bine să utilizați System.getProperty() pentru a obține valoare într-un mod independent de platformă. Valoarea proprietăților poate fi modificată în timpul execuției, dar nu este cazul variabilelor de mediu.

Declaraţie


public String getProperty(String name)
Aici, numele este parametrul folosit pentru a specifica cheia față de care aveam nevoie de valoarea.

Întoarcere

Va returna valoarea cheii sau nul.

Exemplu


import java.lang.*; 
import java.util.Properties; 

public class SystemGetPropertyDemo { 
    public static void main(String[] args) 
    { 
        // getting username system property 
       // using System.getProperty in Java
        System.out.println("user.name: " +  System.getProperty("user.name")); 
        // getting property with key home resulting in null
        // calling system.getproperty()
        System.out.println("home: " + System.getProperty("home")); 
        // getting name of Operating System 
        System.out.println("os.name: " + System.getProperty("os.name")); 
    }
}

Ieșire

user.name: compilator home: null os.name: Linux

Concluzie

Sperăm că până acum înțelegeți ce sunt și cum să obțineți variabilele de mediu în java, scopul lor și cum să utilizați metodele pentru a le obține. Simțiți-vă liber să exersați și să reveniți ori de câte ori aveți nevoie de mai multă asistență. Învățare fericită!
Comentarii
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION