IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Entrée/Sortie Java Discussion :

Execution d'une commande avec Runtime


Sujet :

Entrée/Sortie Java

  1. #1
    Membre éclairé
    Inscrit en
    Juin 2006
    Messages
    570
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 570
    Par défaut Execution d'une commande avec Runtime
    Bonjour,

    j'ai besoin d'executer la commande shell suivante sous linux :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    openssl ca -config conf -in  entree -out sortie
    Je fais donc
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      Runtime.getRuntime().exec(commande);
    avec commande qui est égale à la commande ci dessus ^^

    Mais j'ai deux problèmes à ceci.

    Tout d'abord afin de récupérer l'affichage de la console, je recupe le process et affiche la sortie de la façon suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    BufferedReader reader = new BufferedReader(new InputStreamReader(proc.p.getInputStream()));
    et j'affiche via des readLine.
    Mais il n'y a rien, rien de rien, même en affichant char par char, je n'ai rien dans ma sortie.
    Alors que si je tape cette même commande directement dans le shell j'aurais plusieurs dizaines de lignes.

    Savez d'où cela peut venir ?

    Ensuite, je pense que le problème est lié, mais j'ai besoin d'écrire dans le shell pour que cette commande se finalise (je précise que du texte doit s'afficher avant que je n'ai à en tapper), si je fais simplement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(proc.p.getOutputStream()));
    writer.write("texte");
    est ce que cela suffit ?

  2. #2
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Par défaut
    Bonsoir,

    Citation Envoyé par Djobird Voir le message
    openssl ca -config conf -in entree -out sortie
    C'est sûr que si tu forces la redirection de la sortie vers un fichier, tu n'auras rien dans stdout.

    Attention également au fait que Runtime.getRuntime().exec() exécute des "processus" (binaires executables) et pas des lignes de commande shell.

    plus d'info: Exécuter une application externe en Java
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    196
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 196
    Par défaut
    Bonjour

    Citation Envoyé par pseudocode Voir le message
    Runtime.getRuntime().exec() exécute des "processus" (binaires executables) et pas des lignes de commande shell.
    J'aimerai justement exécuter quelques commandes console (clear/cls, pause...) pour un petit bash que je code actuellement.

    Bien évidement, System.out.print("clear") ne marche pas, ce serait trop facile


    Edit : j'ai fini par trouver ma réponse dans ton article en lien. C'est plutôt moche qu'y ai pas les ce genre de petites fonctionnalités, m'enfin bon...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 01/10/2014, 17h48
  2. Linux executer une commande avec php
    Par xunil2003 dans le forum Langage
    Réponses: 6
    Dernier message: 14/04/2012, 10h05
  3. [Système] Execution d'une commande avec php
    Par djspank dans le forum Langage
    Réponses: 1
    Dernier message: 14/03/2007, 08h47
  4. Executer une commande avec sudo a partir de java
    Par barabas123 dans le forum Langage
    Réponses: 16
    Dernier message: 05/01/2007, 16h47
  5. Exécuter une commande avec ssh
    Par GLDavid dans le forum Réseau
    Réponses: 3
    Dernier message: 18/01/2006, 17h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo