Participer au site avec un Tip
Rechercher
 

Améliorations / Corrections

Vous avez des améliorations (ou des corrections) à proposer pour ce document : je vous remerçie par avance de m'en faire part, cela m'aide à améliorer le site.

Emplacement :

Description des améliorations :

Module : java.base - Package : java.lang - Classe : System
Version documentée : Java SE 17

Méthode « System.getenv »

Signature

public static Map<java.lang.String, java.lang.String> getenv();

Description

Cette méthode vous renvoie une map (conteneur de type clé/valeur) contenant toutes les variables d'environnement accessible par la JVM. Une variable d'environnement est définie au niveau du système d'exploitation sous-jacent. Elle correspond à une configuration particulière utilisable par un ou plusieurs processus. Une variable d'environnement possède un nom et une valeur.

on peut notamment parler de la variable d'environnement CLASSPATH qui indique à l'environnement d'exécution Java ou se trouvent les dossiers complémentaires pouvant contenir du code Java.
les noms ainsi que la gestion des variables d'environnement sont spécifiques au système d'exploitation utilisé. Une utilisation inadaptée de ces variables d'environnements par votre programme Java peut compromettre sa portabilité : il ne marcherait alors plus que sur le système d'exploitation ou il aurait été développé. Pour rappel, le maître mot de Java est WORA (Write Once, Run Anywhere).

Les concepts de variables d'environnement et de propriétés d'environnement sont en fait très proches. Une propriété d'environnement, un concept purement Java, correspond aussi à une configuration, mais le nom d'une telle propriété est spécifié par Java et est case-sensitive. Ainsi, on retrouvera les mêmes propriétés quel que soit le système d'exploitation considéré, contrairement aux variables d'environnement. De plus, la valeur d'une propriété d'environnement, bien qu'issue la plupart du temps d'une variable d'environnement, est souvent, elle aussi, indépendante du système considéré.

Tant que possible, il est donc vivement conseillé d'utiliser les propriétés d'environnement au profit des variables d'environnement.

si un « Security Manager » est spécifié, l'accès aux variables d'environnement peut être restreint. Dans ce cas, une exception de type RuntimePermission pourra être déclenchée.

Paramètres

Cette méthode n'accepte aucun paramètre.

Valeur de retour

La valeur de retour est de type Map<java.lang.String, java.lang.String>. cette méthode renvoie une collection typée java.util.Map<String, String> contenant toutes les variables d'environnement accessible par la JVM.

Exception

Type de l'exceptionDescription
RuntimePermission
Une exception de ce type pourra être déclenchée si un SecurityManager vous restreint les accès aux variables d'environnement.

Exemple de code

L'exemple ci-dessous vous montre comment parcourir et afficher les noms et les valeurs de toutes les variables d'environnement connue par le programme Java.

 1 
 2 
 3 
 4 
 5 
 6 
 7 
 8 
 9 
 10 
 11 
 12 
 13 
 14 
 15 
 16 
package fr.koor.samples;

import java.util.Map;

public class Sample {

    public static void main( String [] args ) {
        
        Map<String, String> variables = System.getenv();
        for( String key : variables.keySet() ) {
            System.out.println( key + " == " + variables.get( key ) );
        }

    }

}
Exemple d'utilisation de la méthode getenv.

Disponible depuis

1.5

Voir aussi

La méthode System.getenv(String name)
La méthode System.getProperties()
La méthode System.getProperty(String name)
La méthode ProcessBuilder.environnement()