Dans votre programme Java, vous essayez d'exécuter un programme externe ("program.exe") à l'aide de Runtime.exec( ) méthode. Bien qu'il ne produise pas d'erreurs, le programme semble inefficace.
Le code fourni utilise la méthode Runtime.exec(params) pour lancer le programme externe. Cependant, cette méthode présente des limites dans la gestion des données d'entrée et de sortie entre le programme Java et le processus externe.
Pour interagir efficacement avec un programme externe et récupérer sa sortie, vous pouvez utiliser la classe ProcessBuilder. Voici un exemple qui montre comment exécuter le programme "program.exe" avec des paramètres spécifiques :
<code class="java">ProcessBuilder processBuilder = new ProcessBuilder("C:\Users\user\Desktop\program.exe", "C:\Users\user\Desktop\images.jpg", "C:\Users\user\Desktop\images2.txt"); Process process = processBuilder.start(); InputStream inputStream = process.getInputStream(); InputStreamReader inputStreamReader = new InputStreamReader(inputStream); BufferedReader bufferedReader = new BufferedReader(inputStreamReader); String line; System.out.println("Output of running program.exe with parameters:"); while ((line = bufferedReader.readLine()) != null) { System.out.println(line); }</code>
Dans ce code, nous créons une instance ProcessBuilder avec les paramètres requis. La méthode start() est utilisée pour lancer le programme externe. Nous utilisons ensuite un InputStream pour lire la sortie du programme, la convertissons en caractères à l'aide d'un InputStreamReader et enfin la stockons dans un BufferedReader pour un traitement ligne par ligne plus facile.
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!