CodeGym /Java-blogg /Tilfeldig /Få miljøvariabler i Java
John Squirrels
Nivå
San Francisco

Få miljøvariabler i Java

Publisert i gruppen

Hva er miljøvariabler?

Hvert dataprogrammeringsspråk inneholder variabler og konstanter som tildeler unike minneplasseringer, som inneholder informasjon som skal brukes av programmene. Konstante verdier kan ikke endres, men variabelens verdi kan endres. Miljøvariabler er nøkkel/verdi-paret hvis verdi er satt utenfor programmet og deres referanse er alltid tilgjengelig for programmet når som helst. Både nøkkel og verdi er strenger. Konvensjonene for innstilling og bruk av miljøvariabler er alltid forskjellige mellom operativsystemer og kommandolinjetolkere. De er alltid globalt tilgjengelige for alle applikasjoner som kjører på systemet.

Eksempel


PATH = "C:\\WINDOWS\system32;"
Her er Path miljøvariabelen satt utenfor programmet, men tilgjengelig for hvert program som kjører på Windows.

Bruk Case

Som vi vet må hver endring i programmet kjøres eller distribueres på nytt til serveren, noe som kan gi uønskede bivirkninger i produksjonen. Så hovedhensikten med å introdusere miljøvariabler er å begrense denne utførelsen og distribusjonen igjen og igjen.

Hvordan få miljøvariabler i Java?

La oss se hvordan du får miljøvariabler i java. Java gir oss 2 måter å få miljøvariabler i Java-programmet.
  1. System.getenv()

  2. System.getProperty()

La oss nå se begge i detalj én etter én.

System.getenv()

System.getenv () -metoden brukes til å hente alle miljøvariablene, men hvis et spesifikt nøkkelnavn er angitt som en parameter, vil det hente verdien. java.lang.System.getenv() returnerer alltid strengkartet over alle tilgjengelige miljøvariabler.

Erklæring


public static String getenv(String name)
Her er navn parameteren som brukes til å spesifisere nøkkelen som vi trengte verdien mot.

Komme tilbake

Den vil returnere verdien av nøkkelen eller null hvis den angitte parameteren ikke er knyttet til noen nøkkel. Hvis parameteren ikke passeres, vil den returnere alle tilgjengelige nøkkel/verdi-par.

Eksempel


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));
        }
   }
}

Produksjon

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=1.5p. :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_TCG_0.0.1 _ADDR=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=tcp0.://10=tcp.://10=tcp. :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_COMPILER_WEBICE_WEBIZ0=10.0.0.0. VERT=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_SEVICE_80.1c20.://tcp :80 PROGRAMIZ_COMPILER_WEB_UI_SEVICE_SERVICE_PORT=80 HOSTNAME=programiz-compiler-deployment-58bfd77477-dtlq8 KUBERNETES_PORT_443_TCP_PORT=443 KUBERNETES_SERVICE_PORT_4_HTTPS4=homer
Du kan få en annen utgang avhengig av operativsystemet ditt.

System.getProperty()

Vi kan også bruke java.lang.System.getProperty() i Java for å hente verdien for den angitte nøkkelen som er sendt som en parameter til denne metoden. Denne metoden brukes for å hente systemegenskapene, dvs. informasjon om det lokale systemet og konfigurasjoner. Hvis miljøvariabelen er tilstede som en systemegenskap i java, er det bedre å bruke System.getProperty() for å få verdi på en plattformuavhengig måte. Verdien for egenskaper kan endres under kjøretiden, men ikke tilfellet med miljøvariabler.

Erklæring


public String getProperty(String name)
Her er navn parameteren som brukes til å spesifisere nøkkelen som vi trengte verdien mot.

Komme tilbake

Det vil returnere verdien av nøkkelen eller null.

Eksempel


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")); 
    }
}

Produksjon

bruker.navn: kompilatorhjem: null os.navn: Linux

Konklusjon

Vi håper nå at du forstår hva som er og hvordan du får miljøvariabler i java, deres formål og hvordan du bruker metoder for å få dem. Tren gjerne og kom tilbake når du trenger mer hjelp. God læring!
Kommentarer
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION