Lancer executable en code java

maitoti Messages postés 39 Statut Membre -  
choubaka Messages postés 5535 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,
bonjour
je veux executer une commande.bat a l'aide du code java.
j'ai essai de faire ça :
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {

String text=jLabel2.getText(); // jLabel contien C:\\apps\\dcm4che-2.0.23-bin\\bin\\dcmsnd , j'ai essaie avec dcmsnd.bat
String text2=jLabel4.getText(); //jLabel4 contien DCM4CHEE@localhost:11112
String text3= jTextField1.getText(); //jTextField contien folder result's
String concat =text+" "+text2+" "+text3; //concat nou donne C:\\apps\\dcm4che-2.0.23-bin\\bin\\dcmsnd DCM4CHEE@localhost:11112 C:\app\images

try{
Runtime r =Runtime.getRuntime();
Process p=r.exec(concat);
p.waitFor();
}
catch(Exception e){
System.out.println("erreur d'excution"+concat+e.toString()); //and the error is not win32 system
}
}
j'ai essaie aussi C:\apps\dcm4che-2.0.23-bin\bin\dcmsnd
erreur est pour les deux "
erreur d'excutionC:\\apps\\dcm4che-2.0.23-bin\\bin\\dcmsnd DCM4CHEE@localhost:11112 C:\apps\imagesjava.io.IOException: Cannot run program "C:\\apps\\dcm4che-2.0.23-bin\\bin\\dcmsnd": CreateProcess error=193, %1 n'est pas une application Win32 valide

est ce qu'il y a une idée pour resoudre se probleme ???????

aussi j'ai essaie avec: C:\\apps\\dcm4che-2.0.23-bin\\bin\\>dcmsnd ....

est l'erreur est "C:\\apps\\dcm4che-2.0.23-bin\\bin\\>dcmsnd": CreateProcess error=123, Syntaxe du nom de fichier, de répertoire ou de volume incorrecte.
c urgent !!!!!!!!!!
merci d'avance

4 réponses

  1. maitoti Messages postés 39 Statut Membre
     
    bon j'ai essaie tous les runtimes mais je n arrive pas a executer :
    en realitae ma commande je l'excute a l'aide du dos
    C:\apps\dcm4che-2.0.23-bin\bin\dcmsnd DCM4CHEE@localhost:11112 C:\apps\images
    et àa marche bien .
    je veut le faire avec java,je pense que le probleme que ma commande contien des espaces ???

    en faite mon scripte est

    String text= jLabel2.getText();
    String[]text1={text};
    String text2=jLabel4.getText();
    String text3= jTextField1.getText();
    String concat = text2+" "+text3+" "+text1;
    jLabel6.setText(concat);
    try{
    Runtime r =Runtime.getRuntime();
    Process p=r.exec(concat, text1);
    p.waitFor();

    }
    catch(Exception e){
    System.out.println("erreur d'excution"+concat+e.toString());
    }

    et text1 contien [Ljava.lang.String;@d5c0f9 //alors il n'a pas pris la valeur de text

    ma nouvelle erreur est "
    erreur d'excutiondcmsnd DCM4CHEE@localhost:11112 C:\apps\images [Ljava.lang.String;@d5c0f9java.io.IOException: Cannot run program "dcmsnd": CreateProcess error=2, Le fichier spécifié est introuvable

    je vous remerci chouba pour l'aide mais est ce que vous pouvez me donner une idee comment le faire,c urgent pour mon PFE.
    merci d'avance
    0
  2. choubaka Messages postés 5535 Date d'inscription   Statut Modérateur Dernière intervention   2 113
     
    Dans le tuto que je t'ai conseillé, on parle de la problèmatique des lignes de commandes avec java

    Il est important de bien comprendre que les diverses méthodes exec() de la classe Runtime permettent de lancer une application et non d'interpréter une ligne de commande ! C'est à dire que le programme appelé doit correspondre à un fichier exécutable, et que chacun des paramètres lui seront passés tel quel sans modification.


    Ce qui est le cas dans ton projet.

    Par contre, d'après ce que j'ai pu lire sur d'autres lien, tu devrais chercher du côté de l'api "shell"

    https://adiguba.developpez.com/librairies/shell/javadoc/

    0
  3. maitoti Messages postés 39 Statut Membre
     
    merci bcp chouba,mais j'arrive pas a bien vous comprendre ,le shell me perturbe encore est vous pouvez etre plus precie (exemple).
    en faite j'ai mis le .bat est l'erreur est la meme:

    erreur d'excutiondcmsnd.bat C:\apps\images-dcm C:\\apps\\dcm4che-2.0.23-bin\\bin\\>java.io.IOException: Cannot run program "dcmsnd.bat": CreateProcess error=2, Le fichier spécifié est introuvable

    e c qu'il y a une faute dans ma variable d'environnement ???
    0
    1. choubaka Messages postés 5535 Date d'inscription   Statut Modérateur Dernière intervention   2 113
       
      difficile à dire comme ça ...

      le c:\\ pourrait aussi poser problème
      0