Maison > Java > javaDidacticiel > Comment exécuter des programmes externes en Java : un guide de l'interface de processus ?

Comment exécuter des programmes externes en Java : un guide de l'interface de processus ?

Mary-Kate Olsen
Libérer: 2024-11-20 03:16:02
original
388 Les gens l'ont consulté

How to Execute External Programs in Java: A Guide to the Process Interface?

Démarrage de processus en Java

Similaire au framework .Net où les processus sont lancés à l'aide de System.Diagnostics.Process.Start("processname" ), Java fournit un moyen pratique d'exécuter des programmes externes.

Processus Java Interface

En Java, la classe Runtime propose la méthode exec() pour démarrer un processus. La syntaxe est :

Process p = Runtime.getRuntime().exec("processname");
Copier après la connexion

où "processname" représente l'exécutable ou la commande à lancer.

Compatibilité multiplateforme

Pour atteindre compatibilité multiplateforme, vous pouvez utiliser la classe System pour déterminer le système d'exploitation actuel et ajuster le lancement du processus en conséquence. Par exemple, sur les systèmes Windows, vous pouvez utiliser le chemin "%windir%system32" avant le nom de l'exécutable.

Entrée et sortie du processus

La classe Process fournit une entrée et des flux de sortie pour communiquer avec le processus en cours d'exécution. Vous pouvez utiliser les méthodes getInputStream() et getOutputStream() pour accéder à ces flux.

Exemple de procédure pas à pas

Le code Java fourni montre comment lancer la commande tree.com /A sur un système Windows :

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.nio.file.Paths;

public class CmdExec {

  public static void main(String[] args) {
    try {
      Process p = Runtime.getRuntime().exec(
          Paths.get(System.getenv("windir"), "system32", "tree.com /A").toString()
      );

      try (BufferedReader input = new BufferedReader(new InputStreamReader(p.getInputStream()))) {
        String line;

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

    } catch (Exception err) {
      err.printStackTrace();
    }
  }
}
Copier après la connexion

Ce code lance la commande tree avec l'option /A, qui affiche un répertoire liste sous forme d’arborescence. Le résultat de la commande est ensuite lu et imprimé sur la console.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal