Lancer un .Exe avec Java

Résolu/Fermé
LuliasMartch - Modifié le 23 nov. 2018 à 23:10
 LuliasMartch - 24 nov. 2018 à 18:52
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
A voir également:

1 réponse

KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
23 nov. 2018 à 23:27
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);
    }
}
1
LuliasMartch
24 nov. 2018 à 18:52
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
0