Maison  >  Article  >  Java  >  Comment exécuter des programmes externes et lire leur sortie en Java ?

Comment exécuter des programmes externes et lire leur sortie en Java ?

Linda Hamilton
Linda Hamiltonoriginal
2024-10-27 15:37:02129parcourir

How to Execute External Programs and Read Their Output in Java?

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn