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 :

problème stdin cmd.exe


Sujet :

Entrée/Sortie Java

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2005
    Messages
    411
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2005
    Messages : 411
    Par défaut problème stdin cmd.exe
    bonjour,

    pour écrire une commande dans le stdin de cmd.exe, faut il procéder ainsi ?

    tout d'abord je lance ceci : p =
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Runtime.getRuntime().exec("cmd.exe");
    ensuite, ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    p_inWriter.write("dir", 0, 3);
    		       p_inWriter.flush();
    		       p_inWriter.close();

  2. #2
    Membre éprouvé Avatar de BainE
    Inscrit en
    Mai 2004
    Messages
    1 327
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 1 327
    Par défaut
    oui et alors ?

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2005
    Messages
    411
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2005
    Messages : 411
    Par défaut
    Citation Envoyé par BainE
    oui et alors ?
    et alors ca ne fonctionne pas

  4. #4
    Membre éprouvé Avatar de BainE
    Inscrit en
    Mai 2004
    Messages
    1 327
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 1 327
    Par défaut
    et en essayant ca ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ***.write("string".getBytes(), 0, "string".getBytes().length);
    sinon en mettant un tit "\n" a la fin de la string ?

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2005
    Messages
    411
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2005
    Messages : 411
    Par défaut
    Citation Envoyé par BainE
    et en essayant ca ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ***.write("string".getBytes(), 0, "string".getBytes().length);
    sinon en mettant un tit "\n" a la fin de la string ?
    oui, ca marche mieux merci, mais ya encore un petit problème :

    j'ai fait une page jsp qui permet a l'utilisateur de lancer des commandes. La premiere fois ca marche tres bien grace à l'astuce du '\n' la fin mais après ca n'affiche plus rien... on est obligé de recréer un process pour pouvoir refaire des commandes par dessus

  6. #6
    Membre éprouvé Avatar de BainE
    Inscrit en
    Mai 2004
    Messages
    1 327
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 1 327
    Par défaut
    normalement non, si tu vide bien ton buffer avec flush et tout ce qui va bien je pense que tant que tu conserve la handle ca devrait aller, mais je me suis rarement servi de ca je peux pas t en dire plus

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2005
    Messages
    411
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2005
    Messages : 411
    Par défaut
    le fait de faire un close() sur le stdin apres avoir injecter la commande dedans, cela risque-t-il de poser problème par la suite pour réinjecter des commandes ?

  8. #8
    Membre éprouvé Avatar de BainE
    Inscrit en
    Mai 2004
    Messages
    1 327
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 1 327
    Par défaut
    je pense, si tu le ferme, il faut le recuperer une nouvelle fois a priori

  9. #9
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2005
    Messages
    411
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2005
    Messages : 411
    Par défaut
    Citation Envoyé par BainE
    je pense, si tu le ferme, il faut le recuperer une nouvelle fois a priori
    oui, mais c'est ce qui se passe a chaque fois car lorsque l'utilisateur valide sa commande, le process est copié dans l'instance de la classe qui se charge d'envoyer la commande et de la récupérer. Donc a partir de ce process, on récupère facilement le stdin...

  10. #10
    Membre éprouvé Avatar de BainE
    Inscrit en
    Mai 2004
    Messages
    1 327
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 1 327
    Par défaut
    je ne dirais pas que le process est copié a priori tu lui passe la reference de ton process, ...avec le flux fermé

  11. #11
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2005
    Messages
    411
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2005
    Messages : 411
    Par défaut
    Citation Envoyé par BainE
    je ne dirais pas que le process est copié a priori tu lui passe la reference de ton process, ...avec le flux fermé
    oui et faut-il réouvrir ce flux ? et si oui comment ?

    effectivement, je le ferme après le premier envoie avec : mais je n'ai pas trouvé de méthode pour le réouvrir !!

Discussions similaires

  1. Problème avec le cmd.exe
    Par Judith30 dans le forum Windows 7
    Réponses: 2
    Dernier message: 12/10/2012, 16h38
  2. problème python cmd.exe
    Par Burnam dans le forum Langages de programmation
    Réponses: 1
    Dernier message: 30/12/2010, 17h46
  3. Problème avec la class Process et le CMD.EXE
    Par Thoustra dans le forum Débuter avec Java
    Réponses: 0
    Dernier message: 26/11/2010, 14h27
  4. Problèmes de touches sur CMD.EXE en plein écran
    Par bs.box dans le forum Windows XP
    Réponses: 5
    Dernier message: 25/06/2010, 19h59
  5. problème d'exécution dans CMD.EXE
    Par t_aicha dans le forum Windows XP
    Réponses: 1
    Dernier message: 30/05/2007, 11h06

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