Maison >Java >javaDidacticiel >Comment puis-je capturer et afficher le résultat d'une commande à l'aide de Runtime.getRuntime() de Java ?

Comment puis-je capturer et afficher le résultat d'une commande à l'aide de Runtime.getRuntime() de Java ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-22 21:18:18909parcourir

How Can I Capture and Display Command Output Using Java's Runtime.getRuntime()?

Obtention d'une sortie de commande avec 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!

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