CodeGym /Java blogg /Slumpmässig /Hämta miljövariabler i Java
John Squirrels
Nivå
San Francisco

Hämta miljövariabler i Java

Publicerad i gruppen

Vad är miljövariabler?

Varje datorprogrammeringsspråk innehåller variabler och konstanter som allokerar unika minnesplatser, som innehåller information som ska användas av programmen. Konstanta värden kan inte ändras men variabelns värde kan ändras. Miljövariabler är nyckel/värdeparet vars värde är satt utanför programmet och deras referens är alltid tillgänglig för programmet när som helst. Både nyckel och värde är strängar. Konventionerna för att ställa in och använda miljövariabler skiljer sig alltid mellan operativsystem och kommandoradstolkar. De är alltid globalt tillgängliga för alla program som körs på systemet.

Exempel


PATH = "C:\\WINDOWS\system32;"
Här är Path miljövariabeln som är inställd utanför programmet men tillgänglig för varje program som körs på Windows.

Användningsfall

Som vi vet måste varje ändring i programmet exekveras eller distribueras om till servern, vilket kan orsaka oönskade biverkningar i produktionen. Så huvudsyftet med att introducera miljövariabler är att begränsa denna exekvering och distribution om och om igen.

Hur får man miljövariabler i Java?

Låt oss se hur man får miljövariabler i java. Java ger oss 2 sätt att få miljövariabler i Java-programmet.
  1. System.getenv()

  2. System.getProperty()

Låt oss nu se båda i detalj en efter en.

System.getenv()

Metoden System.getenv() används för att hämta alla miljövariabler, men om ett specifikt nyckelnamn anges som en parameter kommer det att hämta dess värde. java.lang.System.getenv() returnerar alltid strängkartan för alla tillgängliga miljövariabler.

Deklaration


public static String getenv(String name)
Här är namn parametern som används för att specificera nyckeln mot vilken vi behövde värdet.

Lämna tillbaka

Det kommer att returnera värdet på nyckeln eller null om den angivna parametern inte är associerad med någon nyckel. Om parametern inte skickas kommer den att returnera alla tillgängliga nyckel-/värdepar.

Exempel


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

Produktion

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=t.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=tcp.://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_WEBIZ0=10.0.0.0. VÄRD=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.30.://t :80 PROGRAMIZ_COMPILER_WEB_UI_SEVICE_SERVICE_PORT=80 HOSTNAME=programiz-compiler-deployment-58bfd77477-dtlq8 KUBERNETES_PORT_443_TCP_PORT=443 KUBERNETES_SERVICE_PORT_HTTOMEer=hemma
Du kan få en annan utdata beroende på ditt operativsystem.

System.getProperty()

Vi kan också använda java.lang.System.getProperty() i Java för att hämta värdet för den angivna nyckeln som skickas som en parameter till denna metod. Denna metod används för att hämta systemegenskaperna, dvs information om det lokala systemet och konfigurationer. Om miljövariabeln finns som en systemegenskap i java är det bättre att använda System.getProperty() för att få värde på ett plattformsoberoende sätt. Värdet för egenskaper kan ändras under körning men inte fallet med miljövariabler.

Deklaration


public String getProperty(String name)
Här är namn parametern som används för att specificera nyckeln mot vilken vi behövde värdet.

Lämna tillbaka

Det kommer att returnera värdet på nyckeln eller null.

Exempel


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

Produktion

användarnamn: kompilatorhem: null os.namn: Linux

Slutsats

Vi hoppas att du vid det här laget förstår vad som är och hur man får miljövariabler i java, deras syfte och hur man använder metoder för att få dem. Träna gärna och kom tillbaka när du behöver mer hjälp. Lycka till med lärandet!
Kommentarer
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION