105 votes

Différence entre System.getenv() & System.getProperty()

Duplicata possible :
Quelle est la différence entre une propriété du système et une variable d'environnement ?

Quelle est la différence entre System.getenv() et System.getProperty() ?

Lorsque nous exécutons une commande à l'aide de Processbuilder, nous pouvons définir les variables d'environnement, c'est-à-dire.. :

String[] vCmd = { System.getenv("ANT_HOME") + "/bin/ant", "-f",
                ANT_BUILD_FILE, TARGET };
        ProcessBuilder pb = new ProcessBuilder(vCmd);
        Map<String, String> env = pb.environment();     
        env.put("CLASSPATH",
                antHome+"/lib/ant.jar:"
                        + antHome+"/lib/ant-launcher.jar:"
                        + antHome+"/lib/ant-nodeps.jar:"
                        );
        try{

            Process process = pb.start();
            InputStream is = process.getInputStream();
            InputStreamReader isr = new InputStreamReader(is);
            BufferedReader br = new BufferedReader(isr);
            String line;
            while ((line = br.readLine()) != null) {
                System.out.println(line);
            }
            pb.wait();
        }
        catch(Exception e)

            System.out.println(e.getMessage());

        }

Si je définis certaines propriétés en utilisant System.setProperties() avant cette méthode, sont-elles disponibles pour le processus lancé par ProcessBuilder ?

203voto

T.J. Crowder Points 285826

System.getenv obtient un variable d'environnement . System.getProperty obtient une propriété Java. Les variables d'environnement sont spécifiées au niveau du système d'exploitation. Les propriétés Java sont spécifiées en passant la propriété -D à la JVM (et peut être défini de manière programmatique).

39voto

Bhesh Gurung Points 24875

System.getenv() concerne les variables d'environnement du système d'exploitation, tandis que System.getProperty() est pour les arguments JVM qui sont passés comme -DpropName=value au lanceur d'applications Java ( java ).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X