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.
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.
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!