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 :

passage d'arguments avec Runtime.exec()


Sujet :

Langage Java

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 13
    Points : 9
    Points
    9
    Par défaut passage d'arguments avec Runtime.exec()
    bonjour, voilà j'ai un probleme sous linux, j'arrive à passer les arguments sauf sauf pour la redirection de la sortie ne marche pas :
    la premiere partie ça marche
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     String[] T = {
    		            "./verif.exe",
    		            "input.txt",
    		            "-c",
    		            "output.txt"
     
    		        };
    	       final Runtime runtime = Runtime.getRuntime();
    	       final Process process = runtime.exec(T);
    et la deuxieme ne marche pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     String[] T = {
    		            "./verif.exe",
    		            "input.txt",
    		            "-c",
    		            "> output.txt"
    
    		        };
    	       final Runtime runtime = Runtime.getRuntime();
    	       final Process process = runtime.exec(T);
    est ce que quelqu'un a une idée, merci d'avance

  2. #2
    Membre du Club
    Inscrit en
    Mai 2007
    Messages
    46
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Mai 2007
    Messages : 46
    Points : 41
    Points
    41
    Par défaut
    Bonjour,

    Au lieu de passer par une redirection "linux" tu peut directement effectué la redirection de l'output par java, par contre ca sera surement un peu plus lourd .

    cf: http://www.developpez.net/forums/sho...d.php?t=383710

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 13
    Points : 9
    Points
    9
    Par défaut
    merci bien ça a marché, mais j'ai un autre problème lorsque je met des apostrophes pour mon arguments il le reconnais pas

    Code java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    String[] T = {
                        "./verif.exe",
                        "input.txt",
                        " 'np>pp' "
     
                    };
               final Runtime runtime = Runtime.getRuntime();
               final Process process = runtime.exec(T);
    et l'equivalent en ligne de commande c'est :
    Code other : Sélectionner tout - Visualiser dans une fenêtre à part
    ./verif.exe input.txt 'np>pp'

  4. #4
    Membre du Club
    Inscrit en
    Mai 2007
    Messages
    46
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Mai 2007
    Messages : 46
    Points : 41
    Points
    41
    Par défaut
    essaye d'ecrire les apostrophes avec un \ devant, cad:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String[] T = {"./verif.exe","input.txt"," \'np>pp\' "};
    pour lui faire comprendre que ce sont des caractères spéciaux...(je ne sais plus si les ' sont considérés comme des caractères spéciaux, donc a tester ^^)

  5. #5
    Expert confirmé
    Avatar de le y@m's
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    2 636
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 2 636
    Points : 5 778
    Points
    5 778
    Par défaut
    Il n'est pas possible d'utiliser ce type de redirection ('>') avec Runtime.exec().
    Cf Runtime.exec() n'est pas des plus simple...

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 13
    Points : 9
    Points
    9
    Par défaut
    merci pour la redirection c'est reglé mais il me reste le probleme des cotes j'ai essayé avec un slash et meme j'ai changé avec des guillemets mais ça marche toujours pas

  7. #7
    Expert confirmé
    Avatar de le y@m's
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    2 636
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 2 636
    Points : 5 778
    Points
    5 778
    Par défaut
    Normalement il est inutile d'échapper le caractère '.
    Je ne sais pas si cela peut jouer, mais essaye de lever les espaces dans " 'np>pp' "
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String T = { "./verif.exe", "input.txt", "'np>pp'" };

    Sinon
    Citation Envoyé par aweqqas
    lorsque je met des apostrophes pour mon arguments il le reconnais pas
    C'est à dire ? il y a un message d'erreur ?

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 13
    Points : 9
    Points
    9
    Par défaut
    là j'ai telechargé l'API shell je trouve que c'est la meilleure solution pour la redirection.
    à la compillation du shell.java de l'Api j'ai des arreurs type:

    Syntax error, parameterized types are only available if source level is 5.0 Shell.java line 113, et je sais pas ce que peeu etre le probleme, ce n'est pas la version de java ?!

    Citation Envoyé par le y@m's
    Il n'est pas possible d'utiliser ce type de redirection ('>') avec Runtime.exec().
    Cf Runtime.exec() n'est pas des plus simple...

  9. #9
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 13
    Points : 9
    Points
    9
    Par défaut
    une autre question comment je peux connaitre mma version de java et telecharger la derniere

  10. #10
    Membre du Club
    Inscrit en
    Mai 2007
    Messages
    46
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Mai 2007
    Messages : 46
    Points : 41
    Points
    41
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.out.println(System.getProperty("java.version"));
    et pour dl les versions de java --> www.sun.com..ou --> est ton ami

  11. #11
    Membre confirmé Avatar de miloux32
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    545
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 545
    Points : 565
    Points
    565
    Par défaut
    Citation Envoyé par titoun256
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.out.println(System.getProperty("java.version"));
    et pour dl les versions de java --> www.sun.com..ou --> est ton ami
    euh .. java --version en unix marche tres bien aussi

  12. #12
    Membre du Club
    Inscrit en
    Mai 2007
    Messages
    46
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Mai 2007
    Messages : 46
    Points : 41
    Points
    41
    Par défaut
    lol oui effectivement autant pour moi, je me suis un peu emballé

  13. #13
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 13
    Points : 9
    Points
    9
    Par défaut
    enfin j'ai trouvé la solution, peut etre c'est pas la meilleure mais l'essentiel que ça marche:

    dans la commande j'ai remplacé ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    String[] T = {
    		            "NPI.exe",
    		            "-c",
                                "entree.txt",
                                "'cmde'"
    		        };
    par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    String[] T = {"/bin/sh", "-c",  "NPI.exe -c entree.txt 'cmde'"
    		        };
    merci à tous pour votre aide

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

Discussions similaires

  1. passer des arguments avec Runtime.getRuntime().exec;
    Par firgon dans le forum Débuter avec Java
    Réponses: 0
    Dernier message: 07/11/2008, 07h16
  2. JAVA: arguments avec runtime ne marche pas
    Par aweqqas dans le forum Applications et environnements graphiques
    Réponses: 3
    Dernier message: 28/08/2007, 19h17
  3. probleme avec runtime exec
    Par john123 dans le forum API standards et tierces
    Réponses: 9
    Dernier message: 17/07/2007, 11h57
  4. Réponses: 8
    Dernier message: 01/06/2006, 11h14
  5. [VBA-E] passage d'argument avec la méthode "Show"
    Par JOUBERT dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 14/03/2006, 13h56

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