Bonjour,
Dans un simple programme, je fais appelle à un script externe (.exe) via :
Runtime.getRuntime().exec(monscript);
Mais ceci a l'aire de ne pas bien fonctionner. J'ai déjà manipulé Runtime.getRuntime().exec, elle marche bien et ça a donné un résultat, mais dans mon cas actuel ça ne me donne rien, je le dis parce que je redirige la sortie du script vers un fichier, et ce fichier je ne le trouve pas après l'exécution.
Voici une parie de mon code :
String outputType = "outputfile"; String command = script+ " " + outputType + " > \"" + outputFile+"\""; System.out.println(command); Runtime.getRuntime().exec(command);
La commande que j'exécute est correcte, car je l'affiche comme vous le remarquez, quand je l'exécute sous dos, elle marche très bien mais via mon programme, non plus.
Je bosse sous Windows XP.
Merci de bien vouloir me faire profiter de vos expérience là dessus.
Bonne journée.
Bonjour Nasix,
Ton problème est un classique des classiques. La question a été posée plein de fois sur ce forum, si tu cherches tu vas en retrouver.
Par exemple ici
Le fond du problème est que les tampons d'entrées/sorties du système saturent. Pour éviter ça, il te faut lire le OuputStream dans un thread séparé, pour vider le tampon
Salut,
Merci pour votre réponse, je ne comprends toujours pas le problème et je n'arrive pas à le résoudre.
Bonne fin de journée.
Bonjour,
Voici un exemple de code qui lance un exécutable quelconque. Ca devrait te donner le moyen de résoudre ton problème
Bonjour frederic,
Merci beaucoup, ça marche à merveille.
Bonne journée.