Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1347 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  [JAVA] Question OutputStream

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[JAVA] Question OutputStream

n°142325
wlitw
Posté le 22-05-2002 à 12:26:29  profilanswer
 

Voilà j'ai un ptit problème avec les flux (à vrai dire j'ai du mal à piger, si quelqu'un a un site où sont bien expliqués tous les flux Input et Ouput différents, je veux bien :) ).
 
Voilà je lance une application DOS externe depuis mon appli Java (avec Runtime.getRuntime().exec("commande" )). Cette commande DOS doit normalement me renvoyer un résultat. Quand je l'exécute directement du DOS, ça marche. Quand je passe par mon appli Java, ça marche mais aucun affichage ne se produit sous ma fenêtre DOS. On m'a dit qu'en fait c'était stocké dans la JVM et qu'il fallait que je le récupère sous forme d'OutputStream, ce que j'ai donc fait :
 
OutputStream os = Runtime.getRuntime().exec("commande" ).getOutputStream();
 
Seulement maintenant, je voudrais affiché tout ça dans ma fenêtre DOS avec un System.out.println()
 
Quelqu'un pourrait-il m'aider pour me dire comment faire pour récuperer les données dans mon OutputStream et comment les faire afficher ???
 
Merci d'avance !  :jap:


---------------
Steam : wlitw77 - GoG : wlitw
mood
Publicité
Posté le 22-05-2002 à 12:26:29  profilanswer
 

n°142347
El Scorcho
Posté le 22-05-2002 à 12:54:17  profilanswer
 

Peut-être me trompe-je mais je pense plutôt qu'il faut faire :
BufferedInputStream input = new BufferedInputStream(Runtime.getRuntime().exec("commande" ).getInputStream());
 
et après tu te démerdes pour afficher le contenu de input.
Car si tu lis la javadoc tu vois que :
getInputStream() returns the input stream connected to the normal output of the subprocess.

n°142352
wlitw
Posté le 22-05-2002 à 12:59:59  profilanswer
 

El Scorcho a écrit a écrit :

Peut-être me trompe-je mais je pense plutôt qu'il faut faire :
BufferedInputStream input = new BufferedInputStream(Runtime.getRuntime().exec("commande" ).getInputStream());
 
et après tu te démerdes pour afficher le contenu de input.
Car si tu lis la javadoc tu vois que :
getInputStream() returns the input stream connected to the normal output of the subprocess.  




 
En fait j'avais déjà essayé mais je ne recevais toujours rien en résultat ...  :(


---------------
Steam : wlitw77 - GoG : wlitw
n°142355
El Scorcho
Posté le 22-05-2002 à 13:00:34  profilanswer
 

Plus précisemment tu fais :
InputStream in = Runtime.getRuntime().exec("commande" ).getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(in));
 
et après des br.readLine() tant que différent de null...

n°142374
Choubidoud​ou
Just BOUH it !
Posté le 22-05-2002 à 13:21:06  profilanswer
 

Le tutorial de sun est bien fait mais en anglais :
 
http://java.sun.com/docs/books/tut [...] rview.html
 
sinon va voir sur www.developpez.com tu devras trouver ca...


---------------
Just BOUH it !
n°142379
wlitw
Posté le 22-05-2002 à 13:23:16  profilanswer
 

El Scorcho a écrit a écrit :

Plus précisemment tu fais :
InputStream in = Runtime.getRuntime().exec("commande" ).getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(in));
 
et après des br.readLine() tant que différent de null...  




 
En fait c'est ce que j'avais fait .. mais bizarrement rien n'est sorti sur la fenêtre DOS alors que si je tape ma commande DOS, j'ai bien un retour d'info sur la fenêtre .... mais je vais reessayer, j'ai ptete oublié un truc.
 
Merci à tout le monde en tout cas  :jap:


---------------
Steam : wlitw77 - GoG : wlitw
n°142387
El Scorcho
Posté le 22-05-2002 à 13:29:37  profilanswer
 

Je viens de tester pour voir si j'avais pas dit de connerie et effectivement ça ne marche pas avec les commandes dos et même certains autres progs...
Enfin pour les commandes dos telles que "dir" je crois que c'est normal que ça ne marche pas...
c'est quoi la commande que tu lances ?

n°142392
wlitw
Posté le 22-05-2002 à 13:36:17  profilanswer
 

El Scorcho a écrit a écrit :

Je viens de tester pour voir si j'avais pas dit de connerie et effectivement ça ne marche pas avec les commandes dos et même certains autres progs...
Enfin pour les commandes dos telles que "dir" je crois que c'est normal que ça ne marche pas...
c'est quoi la commande que tu lances ?  




 
En fait, le but est de lancer certains progs Unix (notamment gzip). Mais comme je suis pas sous Unix là et que je ne peux aps le tester pour l'instant, je testais par des programmes sous DOS (pas dir ou autres, j'ai vu que s'il n'y avait pas d'extension d'execution comme EXE par exemple ca ne marchait pas) comme JAR. En le lancant tout seul, il nous retourne tous les arguments possibles. Je voulais tenter de recup ce qu'il me renvoyait pour les reafficher (tous les arguments en somme).

 

[jfdsdjhfuetppo]--Message édité par wlitw le 22-05-2002 à 13:39:29--[/jfdsdjhfuetppo]


---------------
Steam : wlitw77 - GoG : wlitw
n°142435
benou
Posté le 22-05-2002 à 14:22:27  profilanswer
 
n°142552
wlitw
Posté le 22-05-2002 à 15:53:40  profilanswer
 

benou a écrit a écrit :

tu as vu ca ?
http://java.sun.com/j2se/1.3/docs/ [...] mmary.html  




 
C'est parfait ça marche nickel merci  :jap:  
 
Par contre j'aurais quand même bien aimé savoir comment faire pour récup les données qui allaient être affichées sous DOS, juste au cas où :)


---------------
Steam : wlitw77 - GoG : wlitw
mood
Publicité
Posté le 22-05-2002 à 15:53:40  profilanswer
 

n°142567
DrKoidNeuf
Posté le 22-05-2002 à 16:14:35  profilanswer
 

Et si tu essayais de passer par un Process ?
 
genre :
Process proc=Runtime.getRuntime().exec("commande" );
 
Et ensuite dans le proc tu peux récupérer l'OutputStream.

n°142571
- Renaud -
Posté le 22-05-2002 à 16:20:41  profilanswer
 

wlitw a écrit a écrit :

 
 
C'est parfait ça marche nickel merci  :jap:  
 
Par contre j'aurais quand même bien aimé savoir comment faire pour récup les données qui allaient être affichées sous DOS, juste au cas où :)  




 
en fait il y a deux flux a lire: standard output et error output.
 
Dans le cas de jar, ca doit sortir sur error output...
 
Renaud

n°142574
wlitw
Posté le 22-05-2002 à 16:29:28  profilanswer
 

- Renaud - a écrit a écrit :

 
 
en fait il y a deux flux a lire: standard output et error output.
 
Dans le cas de jar, ca doit sortir sur error output...
 
Renaud  




 
Ok merci je vais regarder  :jap:


---------------
Steam : wlitw77 - GoG : wlitw
n°142575
wlitw
Posté le 22-05-2002 à 16:30:08  profilanswer
 

DrKoidNeuf a écrit a écrit :

Et si tu essayais de passer par un Process ?
 
genre :
Process proc=Runtime.getRuntime().exec("commande" );
 
Et ensuite dans le proc tu peux récupérer l'OutputStream.  




 
En fait j'arrivais à le récupérer mais je n'arrivais pas ensuite à le faire afficher sur la fenêtre DOS.


---------------
Steam : wlitw77 - GoG : wlitw
n°142579
El Scorcho
Posté le 22-05-2002 à 16:38:11  profilanswer
 

- Renaud - a écrit a écrit :

 
 
en fait il y a deux flux a lire: standard output et error output.
 
Dans le cas de jar, ca doit sortir sur error output...
 
Renaud  




 
Bien vu, c'est ça.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  [JAVA] Question OutputStream

 

Sujets relatifs
[java] replaceAll[ Java ] Chat, protocole SIRC
ouvrir un document avec word ou ppt depuis java (heelllllp!!!)[JAVA] Utilité des layouts ?
[Java] petit probleme pour lancer un exe via javaQuestion ???
[JAVA] Repaint ne marche pas :(((( [Resolu]question toute conne
Question sur le postscript...[C++] question assez poussée
Plus de sujets relatifs à : [JAVA] Question OutputStream


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR