Ecrire et lire dans un terminal

Ecrire et lire dans un terminal - Java - Programmation

Marsh Posté le 04-07-2005 à 10:21:38    

Salut
Je dois écrire dans un terminal que je cré.
J'ai défini les entrés sorties mais celle ci n'ont pas l'air de marcher.
Voici mon code:
 
Ici j'ouvre un terminal (ca ca marche)
Process ordre  = Runtime.getRuntime().exec ("xterm" );
 
Ici je défini le buffer qui me permet de lire le terminal
final BufferedInputStream in = new BufferedInputStream (ordre.getInputStream());
final BufferedReader br = new BufferedReader ( new InputStreamReader (in));
 
idem pour l'écriture
BufferedOutputStream out = new BufferedOutputStream (ordre.getOutputStream());
BufferedWriter br2 = new BufferedWriter ( new OutputStreamWriter(out));
 
Et là j'éssaye d'écire (desespérément)
br2.write("toto\n" );
 
Keski va pas la dedans!!!!!!!!!!!
Please help me!!!!!!!

Reply

Marsh Posté le 04-07-2005 à 10:21:38   

Reply

Marsh Posté le 04-07-2005 à 10:24:41    

un terminal, c'est aussi un programme X, tu ne peux pas piper dessus, parce que son stdin/stdout ne correspondent pas à la saisie des commandes et à l'affichage du résultat.
 
par contre, si tu pipes un shell, ça marchera très bien.

Reply

Marsh Posté le 04-07-2005 à 10:50:44    

Je suis pas sur de comprendre (je débute...)
Il suffit que rentre la commande csh (pour un shell dynamique) pour que ca marche?C'est bien ca?

Reply

Marsh Posté le 04-07-2005 à 10:58:32    

tu veux faire quoi ?

Reply

Marsh Posté le 04-07-2005 à 11:05:52    

En fait je veux éxécuter des commandes depuis un prog JAVA. Le but étant que les infos affiché par le terminal soit ensuite mise dans un fichier texte pour etre exploité par la suite.

Reply

Marsh Posté le 04-07-2005 à 15:13:09    

Citation :

Et là j'éssaye d'écire (desespérément)
br2.write("toto\n" );


 
peut etre un flush()?
  br2.flush()
 

Reply

Marsh Posté le 04-07-2005 à 15:19:43    

bah besoin de terminal. lance directement la commande

Reply

Marsh Posté le 04-07-2005 à 15:45:08    

J'ai essayait de lancer la commande avec le process et runtime, ca marche. Mais je dois acceder à un serveur, j'utilise donc telnet et je dois fournir login et mot de passe. C'est à ce niveau que ca bloque!

Reply

Marsh Posté le 04-07-2005 à 15:49:29    

n'importe quoi. Fais la connexion telnet en pure java, sans appeler de programme extérieur

Reply

Marsh Posté le 04-07-2005 à 16:25:34    

J'ai déjà essayer mais je n'arrive pas à écrire le login. J'ai essayer avec un write mais il veut rien savoir. Au final j'aiun timeout du process!

Reply

Marsh Posté le 04-07-2005 à 16:25:34   

Reply

Marsh Posté le 04-07-2005 à 16:26:27    

Taz a écrit :

n'importe quoi. Fais la connexion telnet en pure java, sans appeler de programme extérieur


Il existe des librairies pour t'y aider.
 
Lancer un process depuis Java, c'est ouvrir la boîte de Pandore.


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed