J'ai essayé de faire une application qui appelle un programme externe que je dois transmettre deux paramètres. Cela ne donne aucune erreur. Le programme.exe, écrit en c ++, prend une photo et modifie le contenu du fichier txt. Le programme Java s'exécute mais il ne fait rien
Voici mon exemple de code
String[] params = new String [3];
params[0] = "C:\\Users\\user\\Desktop\\program.exe";
params[1] = "C:\\Users\\user\\Desktop\\images.jpg";
params[2] = "C:\\Users\\user\\Desktop\\images2.txt";
Runtime.getRuntime().exec(params);
emprunté cette honteusement 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'informations ici
Autres questions sur la manière de passer des commandes ici et ici
Ça n'est pas correct. Voici comment utiliser Runtime.exec()
. Vous pouvez aussi essayer son cousin plus moderne, ProcessBuilder
: