Extraction de la sortie de ligne de commande en Java
La classe Runtime de Java offre la possibilité d'exécuter des programmes en ligne de commande. Cependant, obtenir le résultat généré par ces commandes peut s’avérer une tâche difficile. Cet article résout ce problème en expliquant comment extraire la sortie d'un programme en ligne de commande à l'aide de la classe Runtime.
Dans le code fourni, le message d'erreur révèle que le flux de sortie n'est pas lu correctement. Pour remédier à cela, le code suivant démontre une méthode robuste :
Runtime rt = Runtime.getRuntime(); String[] commands = {"system.exe", "-get t"}; Process proc = rt.exec(commands); BufferedReader stdInput = new BufferedReader(new InputStreamReader(proc.getInputStream())); BufferedReader stdError = new BufferedReader(new InputStreamReader(proc.getErrorStream())); // Read the output from the command System.out.println("Here is the standard output of the command:\n"); String s = null; while ((s = stdInput.readLine()) != null) { System.out.println(s); } // Read any errors from the attempted command System.out.println("Here is the standard error of the command (if any):\n"); while ((s = stdError.readLine()) != null) { System.out.println(s); }
Ce code utilise la classe Runtime pour exécuter la commande et ouvre des lecteurs pour les flux d'entrée standard et d'erreur du processus. Il parcourt ensuite les lignes de sortie et les erreurs, les imprimant sur la console.
Pour des détails plus complets et des options avancées, consultez la documentation Java sur ProcessBuilder : https://docs.oracle.com/javase/ 7/docs/api/java/lang/ProcessBuilder.html
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!