CodeGym /Java-Blog /Random-DE /Rufen Sie Umgebungsvariablen in Java ab
Autor
Vasyl Malik
Senior Java Developer at CodeGym

Rufen Sie Umgebungsvariablen in Java ab

Veröffentlicht in der Gruppe Random-DE

Was sind Umgebungsvariablen?

Jede Computerprogrammiersprache enthält Variablen und Konstanten, die eindeutige Speicherplätze zuweisen und Informationen enthalten, die von den Programmen verwendet werden sollen. Konstante Werte können nicht geändert werden, aber der Wert der Variablen kann geändert werden. Umgebungsvariablen sind das Schlüssel/Wert-Paar, dessen Wert außerhalb des Programms festgelegt wird und dessen Referenz dem Programm jederzeit zur Verfügung steht. Sowohl Schlüssel als auch Wert sind Zeichenfolgen. Die Konventionen zum Festlegen und Verwenden von Umgebungsvariablen unterscheiden sich immer zwischen Betriebssystemen und Befehlszeileninterpretern. Sie stehen jeder Anwendung, die auf dem System ausgeführt wird, jederzeit global zur Verfügung.

Beispiel


PATH = "C:\\WINDOWS\system32;"
Hier ist Path die Umgebungsvariable, die außerhalb des Programms festgelegt wird, aber für jedes unter Windows ausgeführte Programm verfügbar ist.

Anwendungsfall

Wie wir wissen, muss jede Änderung im Programm ausgeführt oder erneut auf dem Server bereitgestellt werden, was zu unerwünschten Nebenwirkungen in der Produktion führen kann. Der Hauptzweck der Einführung von Umgebungsvariablen besteht also darin, diese Ausführung und Bereitstellung immer wieder einzuschränken.

Wie erhalte ich Umgebungsvariablen in Java?

Sehen wir uns an, wie man Umgebungsvariablen in Java erhält. Java bietet uns zwei Möglichkeiten, Umgebungsvariablen im Java-Programm abzurufen.
  1. System.getenv()

  2. System.getProperty()

Sehen wir uns nun beide einzeln im Detail an.

System.getenv()

Die Methode System.getenv() wird zum Abrufen aller Umgebungsvariablen verwendet. Wenn jedoch ein bestimmter Schlüsselname als Parameter angegeben wird, wird dessen Wert abgerufen. java.lang.System.getenv() gibt immer die String-Zuordnung aller verfügbaren Umgebungsvariablen zurück.

Erklärung


public static String getenv(String name)
Hier ist Name der Parameter, der verwendet wird, um den Schlüssel anzugeben, für den wir den Wert benötigen.

Zurückkehren

Es wird der Wert des Schlüssels oder null zurückgegeben, wenn der angegebene Parameter keinem Schlüssel zugeordnet ist. Wenn der Parameter nicht übergeben wird, werden alle verfügbaren Schlüssel/Wert-Paare zurückgegeben.

Beispiel


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

Ausgang

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.151 :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=80 PROGRAMIZ_COMPILER_WEB_UI_SEVICE_PORT_80_TCP_AD DR=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.0.0.1 :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.1 PROGRAMIZ_COMPILER_WEB_UI_SEVICE_SERVICE_H OST=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_PORT_80_TCP=tcp://10.0.14.233:8 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=443 HOME=/home/compiler
Abhängig von Ihrem Betriebssystem erhalten Sie möglicherweise eine andere Ausgabe.

System.getProperty()

Wir können in Java auch java.lang.System.getProperty() verwenden , um den Wert für den angegebenen Schlüssel abzurufen, der als Parameter an diese Methode übergeben wurde. Mit dieser Methode werden die Systemeigenschaften, also Informationen über das lokale System und Konfigurationen, abgerufen. Wenn die Umgebungsvariable als Systemeigenschaft in Java vorhanden ist, ist es besser, System.getProperty() zu verwenden , um den Wert auf plattformunabhängige Weise abzurufen. Der Wert für Eigenschaften kann zur Laufzeit geändert werden, bei Umgebungsvariablen ist dies jedoch nicht der Fall.

Erklärung


public String getProperty(String name)
Hier ist Name der Parameter, der verwendet wird, um den Schlüssel anzugeben, für den wir den Wert benötigen.

Zurückkehren

Es wird der Wert des Schlüssels oder null zurückgegeben.

Beispiel


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

Ausgang

Benutzername: Compiler-Home: null Betriebssystemname: Linux

Abschluss

Wir hoffen, dass Sie inzwischen verstehen, was Umgebungsvariablen in Java sind und wie man sie erhält, welchen Zweck sie haben und wie man Methoden verwendet, um sie zu erhalten. Fühlen Sie sich frei, zu üben und zurückzukommen, wann immer Sie weitere Unterstützung benötigen. Viel Spaß beim Lernen!
Kommentare
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION