Exécuter efficacement des programmes externes
Lorsque vous tentez d'exécuter un programme externe à partir d'une application Java, il est crucial de s'assurer que le programme fonctionne correctement et répond de manière appropriée. Dans votre cas, vous aviez pour objectif d'exécuter l'exécutable "program.exe" et de lui transmettre deux paramètres. Bien que votre code ne dispose d'aucune notification d'erreur, il est évident que le programme n'a pas effectué les actions prévues.
La solution fournie exploite la fonctionnalité de « ProcessBuilder » pour lancer l'exécution d'un programme externe. Cette classe vous permet de spécifier la commande complète et ses paramètres, et inclut la prise en charge de la lecture de la sortie générée par le programme exécuté.
Le code optimisé :
<code class="java">Process process = new ProcessBuilder("C:\PathToExe\program.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); }</code>
Ce code révisé garantit que le programme externe est exécuté en appelant la méthode "start()" de "ProcessBuilder". Il procède ensuite à la collecte et à l'affichage de toute sortie produite par le programme exécuté via l'utilisation de "getInputStream", "InputStreamReader" et "BufferedReader".
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!