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

Langage Java Discussion :

utiliser la redirection


Sujet :

Langage Java

  1. #1
    Nouveau membre du Club
    Inscrit en
    Avril 2008
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 62
    Points : 36
    Points
    36
    Par défaut utiliser la redirection
    Bonsoir tout le monde,
    SVP quelqu’un peut m'aider et me dire comment utiliser la redirection sous java?
    En faite je veux exécuter une commande et mettre le résultat de celle ci dans un fichier output (de sortie) en utilisant la redirection (>)
    voici la parie de code que j'ai exécuté:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Runtime runt= Runtime.getRuntime();
    Process proc = null;
    String cmd="maCommande > file.out";
    try{
    
          System.out.println("Debut verif");
          proc=runt.exec(cmd);                       
          System.out.println("Fin verif");
    
     }catch(Exception exp){
           System.out.println("echec du test");
           exp.printStackTrace();
    }
    Les messages "Debut verif" et "Fin verif" sont affichés mais le fichier "file.out" n'est pas crées.
    Dois-je ajouter une librairie ou bien ma commande de redirection n'est pas bien définie???
    Merci bien et bonne nuit

  2. #2
    Membre chevronné
    Inscrit en
    Mai 2006
    Messages
    1 364
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 1 364
    Points : 1 984
    Points
    1 984
    Par défaut
    Salut,

    Normalement, ca devrait marcher. Peut etre que tu ne cherches pas le fichier au bon endroit vu que le chemin n'est pas absolu donc il faudrait etre sur que tu as les droits d'ecriture sur le repertoire en question.

    La premiere chose à faire, c'est préciser un chemin absolu dans un repertoire ou tu es sur d'avoir les droits pour s'assurer que ca marche.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String cmd="maCommande > c:\file.out";
    a+

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    299
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2009
    Messages : 299
    Points : 422
    Points
    422
    Par défaut
    Bonjour, lorsque tu utilises une ligne de commande contenant des paramètres, je te conseil d'utiliser un String[]{"ma commande", ">", "c:\\file.out"}.
    Peut-être que cela t'aidera !

  4. #4
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Salut,


    Runtime.exec() lance uniquement un programme avec des paramètres, mais ce n'est pas un shell : il ne peut donc pas interpréter une ligne de commande !!!

    Ce qui signifie qu'il n'y a pas de redirection, de pipe, de remplacement de variables d'environnements ou autres...


    Si tu veux faire des redirections, tu as deux solutions :
    • Le faire toi-même en traitant les flux d'entrée/sorties du process (ce que tu devrais gérer de toute manière - au pire en les fermant).
    • Utiliser le shell système pour exécuter la commande.
      Dans ce cas il faut appeler le programme représentant le shell de l'OS (en gros : command.com ou cmd.exe sous Windows selon la version, et /bin/sh sur les Unixes au sens large) et lui passer en paramètre la ligne de commande complète.



    Il y a déjà plein d'info là dessus sur le forum...


    a++

Discussions similaires

  1. Utiliser la redirection 301
    Par Skibiriti dans le forum Apache
    Réponses: 15
    Dernier message: 08/12/2012, 23h20
  2. Comment utiliser la redirection chaînée ?
    Par POKOU dans le forum Struts 1
    Réponses: 1
    Dernier message: 12/01/2012, 09h02
  3. Réponses: 8
    Dernier message: 02/04/2009, 01h51
  4. [GreyBox] utiliser une redirection
    Par bapfuror dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 23/05/2008, 15h50
  5. Redirection en utilisant un radiobutton
    Par sagitarium dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 08/05/2006, 22h22

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