Maison >Java >javaDidacticiel >Comment exécuter des programmes externes en Java : un guide de l'interface de processus ?
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");
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(); } } }
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!