Maison >Java >javaDidacticiel >Comment puis-je capturer et afficher le résultat d'une commande à l'aide de Runtime.getRuntime() de Java ?
Java Runtime.getRuntime() permet l'exécution de programmes en ligne de commande à partir d'un programme Java. Sa méthode exec() prend un tableau d'arguments de commande et renvoie un objet Process. Cependant, obtenir le résultat de la commande est une tâche complètement différente.
Pour récupérer le résultat de la commande, l'objet Process fournit des flux d'entrée et d'erreur via getInputStream() et getErrorStream(), respectivement. Voici une version améliorée de votre code qui obtient et imprime la sortie :
Runtime rt = Runtime.getRuntime(); String[] commands = {"system.exe", "-get t"}; Process proc = rt.exec(commands); BufferedReader stdInput = new BufferedReader(new InputStreamReader(proc.getInputStream())); // 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); }
En lisant à partir du flux d'entrée, vous pouvez accéder et imprimer la sortie de la commande. Notez que vous pouvez rencontrer des erreurs lors de l'exécution de la commande, il est donc conseillé de vérifier également le flux d'erreurs à l'aide de getErrorStream().
Pour des informations plus détaillées, reportez-vous à la documentation de l'API Process. Vous pouvez également envisager d'utiliser la classe ProcessBuilder pour plus de contrôle sur la configuration des processus.
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!