Lancer executable en code java
maitoti
Messages postés
39
Statut
Membre
-
choubaka Messages postés 39984 Statut Modérateur -
choubaka Messages postés 39984 Statut Modérateur -
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
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
A voir également:
- Createprocess error=2, le fichier spécifié est introuvable
- Jeux java itel - Télécharger - Jeux vidéo
- Waptrick java football - Télécharger - Jeux vidéo
- Code ascii - Guide
- Code puk bloqué - Guide
- Comment déverrouiller un téléphone quand on a oublié le code - Guide
4 réponses
bonjour
Regarde sur ce tuto, il est possible que ton erreur soit reprise
https://ydisanto.developpez.com/tutoriels/java/runtime-exec/
Bon courage
Regarde sur ce tuto, il est possible que ton erreur soit reprise
https://ydisanto.developpez.com/tutoriels/java/runtime-exec/
Bon courage
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
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
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/
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/
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 ???
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 ???