Commande dos depuis le code java

Résolu
cs_manou74 Messages postés 19 Date d'inscription samedi 20 décembre 2008 Statut Membre Dernière intervention 20 mai 2011 - 11 mai 2011 à 21:34
cs_manou74 Messages postés 19 Date d'inscription samedi 20 décembre 2008 Statut Membre Dernière intervention 20 mai 2011 - 16 mai 2011 à 17:48
bonjour;

j'ai besoin dans mon app java de faire un appel à un logiciel qui permet de dessiner des graphe(fichier .JPG) à partir d'un fichier d'entrée(fichier.dot)(ce logiciel s'appelle graphviz)

pour cela je dois me positionner dans le bin de graphviz(commande DOS: "cd C:\Program Files\Graphviz2.26.3\bin")et lancer la commande:
dot -Tjpg -omonImage.jpg monGraphe.dot

je veux savoir comment faire cela dans java,càd me position dans le bin de graphviz et lancer la commande appropriée.
merci bcp de votre aides

4 réponses

Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 111
14 mai 2011 à 16:52
Salut,

oui le 'cd' ne sera pas possible pour ensuite exec ta commande... si tu veux spécifier un working dir regarde du coté des méthodes exec qui prennent un param File (vf la javadoc...)

exemple :
Runtime run = Runtime.getRuntime();
// p uniquement si tu veux manier les fkux de ton apps
Process p = run .exec("dot -Tjpg -omonImage.jpg monGraphe.dot", null, new File("C:\\Program Files\\Graphviz2.26.3\\bin"));
// ou encore
Process p = run .exec(new String [] { "dot", "-Tjpg", "-omonImage.jpg", "monGraphe.dot"}, null, new File("C:\\Program Files\\Graphviz2.26.3\\bin"));



enfin un truc du genre quoi.




------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

OoWORAoO
3
Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 111
12 mai 2011 à 10:18
Salut,

Regarde du coté des méthodes exec(...) de la classe java.lang.Runtime et si tu dois récupérer les streams de l'application regarde également du coté de la classe java.lang.Process (cet objet est retourné par les méthodes exec de l'objet Runtime).




------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

OoWORAoO
0
cs_manou74 Messages postés 19 Date d'inscription samedi 20 décembre 2008 Statut Membre Dernière intervention 20 mai 2011 1
14 mai 2011 à 16:35
bonjour;
merci twintus d'avoir me repondu;
mon probleme exactement est comment ecrire la commande pour l'envoyer comme parametre de la methode exec(String cmd)(ou String[]cmds)

j'ai essayé avec: ...exec("cd C:\Program Files\Graphviz2.26.3\bin");
...exec("dot -Tjpg -omonImage.jpg monGraphe.dot");
mais ça ne fonctionne pas;
merci bcp de me repondre.
0
cs_manou74 Messages postés 19 Date d'inscription samedi 20 décembre 2008 Statut Membre Dernière intervention 20 mai 2011 1
16 mai 2011 à 17:48
bonjour;
j'ai essayé avec ce que vous m'avez dit et ça a bien marché
merci bcp de votre aide Twinuts,grace à toi G reglé le pbm;
0
Rejoignez-nous