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

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

Linda Hamilton
Linda Hamiltonoriginal
2024-10-31 02:54:30888parcourir

How to Execute System Commands and Capture Output in Java?

Exécution de commandes système en Java pour Linux et BSD

Introduction

Java offre la possibilité d'exécuter des commandes système à partir de son environnement d'exécution. Cela peut être utile pour effectuer diverses opérations sur le système d'exploitation sous-jacent. Dans ce guide, nous explorerons comment exécuter des commandes système en Java pour les systèmes Linux et BSD.

Problème

Un développeur souhaite exécuter la commande uname -a à partir d'un programme Java et stocker la sortie dans une chaîne. L'extrait de code qu'ils fournissent tente de le faire mais rencontre quelques problèmes.

Solution

Pour exécuter des commandes système en Java, nous pouvons utiliser la méthode Runtime.exec(). Cette méthode prend comme argument la commande à exécuter sous forme de chaîne. Une fois la commande exécutée, nous pouvons obtenir la sortie du flux de sortie standard de la commande.

Voici un exemple de la façon d'exécuter uname -a et de stocker la sortie dans une chaîne :

<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 = "";

while ((line = b.readLine()) != null) {
  System.out.println(line);
}

b.close();</code>

Ce code crée d'abord un objet Runtime. Il utilise ensuite la méthode exec() sur l'objet Runtime pour exécuter la commande uname -a. La méthode exec() renvoie un objet Process, qui représente le processus en cours.

Nous pouvons obtenir le résultat de la commande en lisant le flux d'entrée de l'objet Process. L'extrait de code utilise un BufferedReader pour lire la sortie ligne par ligne. La sortie est ensuite imprimée sur la console à des fins de démonstration.

En suivant cette approche, vous pouvez exécuter n'importe quelle commande système valide à partir de Java et utiliser sa sortie dans la logique de votre programme.

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