Maison  >  Article  >  Java  >  Comment exécuter des commandes système en Java et capturer leur sortie ?

Comment exécuter des commandes système en Java et capturer leur sortie ?

Patricia Arquette
Patricia Arquetteoriginal
2024-10-31 00:03:29206parcourir

How to Execute System Commands in Java and Capture their Output?

Exécuter des commandes système en Java

L'exécution de commandes système à partir de Java offre un moyen puissant d'interagir avec le système d'exploitation sous-jacent. Ceci est particulièrement utile lors de l'intégration d'applications Java avec des outils externes ou lors de l'exécution de tâches au niveau du système.

Une approche efficace pour exécuter des commandes système en Java consiste à utiliser la méthode Runtime.exec(), qui vous permet de lancer un processus pour exécuter la commande. Pour capturer la sortie de la commande, vous pouvez utiliser un InputStreamReader et un BufferedReader pour lire le flux de sortie standard.

Voici un exemple optimisé qui montre comment exécuter la commande "uname -a" et stocker sa sortie dans a String :

<code class="java">Runtime r = Runtime.getRuntime();
Process p = r.exec("uname -a");
p.waitFor();
BufferedReader b = new BufferedReader(new InputStreamReader(p.getInputStream()));
String line;
StringBuilder output = new StringBuilder();

while ((line = b.readLine()) != null) {
  output.append(line);
}

b.close();

System.out.println(output.toString());</code>

Ce code obtient d'abord l'objet Runtime et appelle la méthode exec() pour exécuter la commande "uname -a". L'appel p.waitFor() attend que le processus termine son exécution. Ensuite, il crée un BufferedReader pour lire les lignes de la sortie standard du processus. Chaque ligne est ajoutée à un StringBuilder pour accumuler la totalité de la sortie. Enfin, BufferedReader est fermé et la sortie accumulée est récupérée sous forme de chaîne.

En tirant parti de cette approche, vous pouvez exécuter de manière transparente des commandes système dans vos applications Java et exploiter la puissance des outils système à partir de votre code.

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