Exécuter un programme externe en java [fermé]

j'ai essayé de faire une application qui appelle un programme externe qui j'ai passer deux paramètres. Il ne donne pas toutes les erreurs.Programme.exe,écrit en c++, prend une photo et modifie le contenu du fichier txt. Le programme java tourne mais il ne fait rien

Voici mon code d'échantillon

    String[] params = new String [3];
    params[0] = "C:UsersuserDesktopprogram.exe";
    params[1] = "C:UsersuserDesktopimages.jpg";
    params[2] = "C:UsersuserDesktopimages2.txt";
    Runtime.getRuntime().exec(params);
31
demandé sur sqtd 2012-12-21 17:23:32

2 réponses

a emprunté ce honteux de ici

Process process = new ProcessBuilder("C:\PathToExe\MyExe.exe","param1","param2").start();
InputStream is = process.getInputStream();
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);
String line;

System.out.printf("Output of running %s is:", Arrays.toString(args));

while ((line = br.readLine()) != null) {
  System.out.println(line);
}

plus d'information ici

autres questions sur la façon de passer les commandes ici et ici

54
répondu Steven 2018-03-09 07:16:06

Ce n'est pas juste. Voici comment utiliser Runtime.exec() . Vous pourriez aussi essayer son cousin plus moderne, ProcessBuilder :

Java Runtime.getRuntime ().exec() les solutions de rechange

14
répondu duffymo 2017-05-23 12:10:06