135 votes

Exécution de la ligne de commande en Java

Existe-t-il un moyen d'exécuter cette ligne de commande dans une application Java?

 java -jar map.jar time.rel test.txt debug
 

Je peux l'exécuter avec la commande mais je ne pouvais pas le faire dans Java.

201voto

kol Points 10683
 Runtime rt = Runtime.getRuntime();
Process pr = rt.exec("java -jar map.jar time.rel test.txt debug");
 

http://docs.oracle.com/javase/7/docs/api/java/lang/Runtime.html

55voto

Craigo Points 601

Vous pouvez également regarder la sortie comme ceci:

 final Process p = Runtime.getRuntime().exec("java -jar map.jar time.rel test.txt debug");

new Thread(new Runnable() {
    public void run() {
        BufferedReader input = new BufferedReader(new InputStreamReader(p.getInputStream()));
        String line = null; 

        try {
            while ((line = input.readLine()) != null) {
                System.out.println(line);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}).start();

p.waitFor();
 

Et n'oubliez pas, si vous utilisez Windows, vous devez placer "cmd / c" devant votre commande.

8voto

Shaun Points 1842
 import java.io.*;

Process p = Runtime.getRuntime().exec("java -jar map.jar time.rel test.txt debug");
 

Considérez ce qui suit si vous rencontrez d'autres problèmes, mais je suppose que ce qui précède fonctionnera pour vous:

Problèmes avec Runtime.exec ()

8voto

Igor Popov Points 3198
Runtime.getRuntime().exec("java -jar map.jar time.rel test.txt debug");

3voto

Wojtek O. Points 3267
Process p = Runtime.getRuntime().exec("java -jar map.jar time.rel test.txt debug");

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