Menu

Lancer un .Exe avec Java [Résolu]

-
Bonjour, je suis débutant dans ce genre de programme bien que un peu conditionner au langage basic comme python ou html et je me heurte a un problème mon code qui pour l'instant ne détient qu'une maigre interface doit si on Click sur un bouton start lancer un fichier exe dans un dossier particulier malheureusement je ne sais pas mi prendre pouvez vous m'aider je vous mais a la suite la partie de code déjà rédige:

JButton btnStart = new JButton("START");
  btnStart.setBounds(90, 71, 89, 23);
  frame.getContentPane().add(btnStart);
  public static void main (String[] args) {
         String cmd;
          cmd = "command.com /c command.com /c C:\\Users\\Arthur\\Documents\\Prj-NeverDawn\\exe";
 try {
  Runtime r = Runtime.getRuntime();
                 Process p = r.exec(cmd);
                 p.waitFor();
 }catch(Exception e) {
  System.out.println("erreur d'execution " + cmd + e.toString());
         }
  }

Merci de votre aide
Cordialement Lulias
Afficher la suite 

Votre réponse

1 réponse

Messages postés
15868
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
16 décembre 2018
0
Merci
Bonjour,

J'ai modifié le titre de ta question, JavaScript est un autre langage, qui a peu de chose en commun avec Java, si ce n'est quelques éléments de syntaxe, hérités du C.

Quant à ta question, il faudrait déjà modifier ta commande dont seule la dernière partie semble pertinente, sans oublier de lire les flux, qui pourraient contenir des messages utiles...

import java.io.*;

public class Test {

    public static void main(String[] args) throws Exception {
        String[] cmd = { "C:/Users/Arthur/Documents/Prj-NeverDawn.exe" };
        Runtime runtime = Runtime.getRuntime();
        Process process = runtime.exec(cmd);
        echoAll(process.getInputStream(), System.out);
        echoAll(process.getErrorStream(), System.err);
        process.waitFor();
    }

    private static void echoAll(InputStream input, PrintStream printer) {
        new BufferedReader(new InputStreamReader(input)).lines().forEach(printer::println);
    }
}
Un agréable merci ce problème me m’était des bâton dans les roue depuis plus d'une semaine super boulot bonne continuation

Cordialement Lulias
Commenter la réponse de KX