CodeGym /Blog Java /Random-FR /Obtenir des variables d'environnement en Java
Auteur
Vasyl Malik
Senior Java Developer at CodeGym

Obtenir des variables d'environnement en Java

Publié dans le groupe Random-FR

Que sont les variables d'environnement ?

Chaque langage de programmation informatique contient des variables et des constantes qui allouent des emplacements de mémoire uniques, contenant des informations à utiliser par les programmes. Les valeurs constantes ne sont pas modifiables, mais la valeur de la variable peut être modifiée. Les variables d'environnement sont la paire clé/valeur dont la valeur est définie en dehors du programme et leur référence est toujours disponible pour le programme à tout moment. La clé et la valeur sont des chaînes. Les conventions de définition et d'utilisation des variables d'environnement diffèrent toujours entre les systèmes d'exploitation et les interpréteurs de ligne de commande. Ils sont toujours disponibles globalement pour chaque application exécutée sur le système.

Exemple


PATH = "C:\\WINDOWS\system32;"
Ici, Path est la variable d'environnement définie en dehors du programme mais disponible pour chaque programme exécuté sous Windows.

Cas d'utilisation

Comme nous le savons, chaque modification du programme doit être exécutée ou redéployée sur le serveur, ce qui peut produire des effets secondaires indésirables en production. Ainsi, l'objectif principal de l'introduction de variables d'environnement est de restreindre encore et encore cette exécution et ce déploiement.

Comment obtenir des variables d'environnement en Java ?

Voyons comment obtenir des variables d'environnement en Java. Java nous propose 2 façons d'obtenir des variables d'environnement dans le programme Java.
  1. System.getenv()

  2. System.getProperty()

Voyons maintenant les deux en détail un par un.

System.getenv()

La méthode System.getenv() est utilisée pour récupérer toutes les variables d'environnement, mais si un nom de clé spécifique est fourni en tant que paramètre, il récupérera sa valeur. java.lang.System.getenv() renvoie toujours la carte de chaînes de toutes les variables d'environnement disponibles.

Déclaration


public static String getenv(String name)
Ici, name est le paramètre utilisé pour spécifier la clé pour laquelle nous avions besoin de la valeur.

Retour

Il renverra la valeur de la clé ou null si le paramètre fourni n'est associé à aucune clé. Si le paramètre n'est pas passé, il renverra toutes les paires clé/valeur disponibles.

Exemple


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

Sortir

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_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.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.1 PROGRAMIZ_COMPILIRAG14.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:80 PROGRAMIZ_COMPI LER_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
Vous pouvez obtenir une sortie différente en fonction de votre système d'exploitation.

System.getProperty()

Nous pouvons également utiliser java.lang.System.getProperty() en Java pour récupérer la valeur de la clé spécifiée passée en paramètre à cette méthode. Cette méthode est utilisée pour récupérer les propriétés du système, c'est-à-dire les informations sur le système local et les configurations. Si la variable d'environnement est présente en tant que propriété système dans Java, il est préférable d'utiliser System.getProperty() pour obtenir de la valeur de manière indépendante de la plate-forme. La valeur des propriétés peut être modifiée au moment de l'exécution, mais pas le cas avec les variables d'environnement.

Déclaration


public String getProperty(String name)
Ici, name est le paramètre utilisé pour spécifier la clé pour laquelle nous avions besoin de la valeur.

Retour

Il renverra la valeur de la clé ou null.

Exemple


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

Sortir

nom.utilisateur : accueil du compilateur : null nom.os : Linux

Conclusion

Nous espérons que vous comprenez maintenant ce que sont et comment obtenir des variables d'environnement en Java, leur objectif et comment utiliser les méthodes pour les obtenir. N'hésitez pas à pratiquer et revenir chaque fois que vous avez besoin de plus d'aide. Bon apprentissage!
Commentaires
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION