Java Language Utiliser la classe ProcessBuilder


Exemple

La classe ProcessBuilder facilite l'envoi d'une commande via la ligne de commande. Tout ce qu'il faut, c'est une liste de chaînes qui composent les commandes à saisir. Vous appelez simplement la méthode start () sur votre instance ProcessBuilder pour exécuter la commande.

Si vous avez un programme appelé Add.exe qui prend deux arguments et les ajoute, le code ressemblera à ceci:

List<String> cmds = new ArrayList<>();
cmds.add("Add.exe"); //the name of the application to be run
cmds.add("1"); //the first argument
cmds.add("5"); //the second argument

ProcessBuilder pb = new ProcessBuilder(cmds);

//Set the working directory of the ProcessBuilder so it can find the .exe
//Alternatively you can just pass in the absolute file path of the .exe
File myWorkingDirectory = new File(yourFilePathNameGoesHere);
pb.workingDirectory(myWorkingDirectory);

try {
    Process p = pb.start(); 
} catch (IOException e) {
    e.printStackTrace();
}

Quelques points à garder en tête:

  • Le tableau de commandes doit tous être un tableau String
  • Les commandes doivent être dans l'ordre (dans le tableau) qu'elles seraient si vous appeliez le programme dans la ligne de commande (c.-à-d. Que le nom du fichier
  • Lorsque vous définissez le répertoire de travail, vous devez transmettre un objet File et pas uniquement le nom du fichier en tant que String.