Lancer un programme C du programme JAVA

jeeprt94 Messages postés 8 Date d'inscription lundi 26 avril 2004 Statut Membre Dernière intervention 21 mai 2004 - 18 mai 2004 à 11:59
jeeprt94 Messages postés 8 Date d'inscription lundi 26 avril 2004 Statut Membre Dernière intervention 21 mai 2004 - 19 mai 2004 à 14:33
Bonjour Amis Programmeurs Java...

Excusez moi je deviens fou j essaye de lancer un programme C a partir de mon programme Java....
J utilise le Runtime etc...
mais j aimerais que le texte que doit afficher mon programme C apparaisse dans la console d ou je lance mon programme java.....
(sous Linux et Windows rien que ca...)

Mon code pour l instant et plus que basique (euh non Java) :

try
{
Runtime r;
r = Runtime.getRuntime();
r.exec("./projet/rxcomm.exe");
System.out.println("Operation terminee");
}
catch(Exception e)
{
System.out.println("Erreur "+e);
}

Si quelqu un peut m aider mirci bocoup d avance

Milano Siamo Noi

8 réponses

cs_tds Messages postés 351 Date d'inscription mercredi 21 janvier 2004 Statut Membre Dernière intervention 9 décembre 2004
18 mai 2004 à 12:14
Demande à neodante, il connait le nom exact du programme à utiliser pour intégrer le c dans java :p Je pense que c'est peut-être JNI???

B@ron {EU.BELGIUM}
0
jeeprt94 Messages postés 8 Date d'inscription lundi 26 avril 2004 Statut Membre Dernière intervention 21 mai 2004
18 mai 2004 à 12:23
Oui jai deja entendu parle de cette chose si quelqu un connait un autre moyen ce serait sympa moi je me renseigne de mon cote sur ce certain JNI

Merci a toi en tout cas..

Milano Siamo Noi
0
cs_tds Messages postés 351 Date d'inscription mercredi 21 janvier 2004 Statut Membre Dernière intervention 9 décembre 2004
18 mai 2004 à 12:28
tu as aussi JINTEGRA...

B@ron {EU.BELGIUM}
0
kirua12 Messages postés 1155 Date d'inscription samedi 17 janvier 2004 Statut Membre Dernière intervention 29 avril 2011 7
18 mai 2004 à 14:05
Salut,

tu peux trouver des exemples de redirection des flux standard dans les messages précédents.
Un petit exemple de base :

Process process=runtime.getRuntime().exec(...);
InputStream in=process.getInputStream();
OutputStream out=process.getOutputStream();


Après tu peux lire ce que renvoie ton prog C. Utilise des threads pour la lecture et l'écriture cela évite de bloquer ton prog.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_tds Messages postés 351 Date d'inscription mercredi 21 janvier 2004 Statut Membre Dernière intervention 9 décembre 2004
18 mai 2004 à 14:10
CQFD :p
B@ron {EU.BELGIUM}
0
jeeprt94 Messages postés 8 Date d'inscription lundi 26 avril 2004 Statut Membre Dernière intervention 21 mai 2004
18 mai 2004 à 16:07
Ok je voudrais expliter la piste du process mais j ai un peu du mal a comprendre comment ca fonctionne...
Je cree un process je recupere le input et output stream jusque la ok...

Ensuite je voudrais afficher le resultat de mon programme C
deja ce que je dois mettre entre les guillemtes ca doit ressembler a quoi ?? chemin+path...???
Le programme C en question ne fait que affichait des choses a l ecran (normalement)... Et il ne me met strictement rien
En meme temps pour l instant je lui demande pas d afficher donc c un peu normal... Excusez moi mais le java c pas ma specialite...

Merci a ceux qui maideront.... et aussi ceux qui m ont deja aider....

import java.io.*;

public class Rxcomm {
public static void main (String[]args) {
try{
Runtime r =Runtime.getRuntime();
Process process=Runtime.getRuntime().exec("");
InputStream in=process.getInputStream();
OutputStream out=process.getOutputStream();
System.out.println("Operation terminee");

} catch(Exception e) {
System.out.println("Erreur "+e);
}
}
}

Voila ma source....

Milano Siamo Noi
0
kirua12 Messages postés 1155 Date d'inscription samedi 17 janvier 2004 Statut Membre Dernière intervention 29 avril 2011 7
18 mai 2004 à 20:00
tu dois mettre le chemin (absolu ou relatif) pour exécuter ton prog C et après boucler sur la lecture du flux de sortie.
0
jeeprt94 Messages postés 8 Date d'inscription lundi 26 avril 2004 Statut Membre Dernière intervention 21 mai 2004
19 mai 2004 à 14:33
Ce programme va vraiment me rendre dingue...
En fait je pense que la creation du process et indique a une commande que l on taperait si on fait Demarrer Executer sous Windows..
Si je fais H:/project/rxcomm.exe en le tapant dans Executer ca marche...
Si je fais la meme chose dans mon programme JAVA il y a une Erreur que voici :

java.io.IOException : CreateProcess: H:/project/rxcomm.exe error=0

Si quelqu'un sait ce que c est... la JAVADOC dit pas grand chose sur les erreurs d entrees sorties....

Je vais le tenter sous Linux plus tard on verra ce que ca dit....
En tout cas Merci a tout ceux qui essayent de faire quelque chose pour moi...
Ca donne envie d aider les autres mais pour ca faut etre vraiment bon et je ne le suis pas encore... hihi...

Ciao

Milano Siamo Noi
0
Rejoignez-nous