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

Applications et environnements graphiques Discussion :

JAVA: arguments avec runtime ne marche pas


Sujet :

Applications et environnements graphiques

  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 JAVA: arguments avec runtime ne marche pas
    bonjour, j'ai un probleme avec mon application que je expose ici :
    je lance une application externe avec runtime.exec() et je donne les arguments de l'application. deux type d'arguments demandé :
    1- avec 3 arguments comme ça:
    (nom de l'application)(option) (fichier d'entrée) (fichier de sortie)
    donc s'il trouve un nom de fichier de sortie il execute une partie
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    String[] T = {
    		            "NPI.exe",
    		            "-c",
                                "entree.txt",
                                "sortie.txt"
    		        };
     
    		   try {
    	    	   Process process = Runtime.getRuntime().exec(T);
    	    	   BufferedReader ds = new BufferedReader(new InputStreamReader(process.getInputStream()));
    2- avec 3 arguments comme ça:
    (nom de l'application)(option) (fichier d'entrée) ('une commande')

    s'il trouve une ccommande il execute l'autre partie

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    String[] T = {
    		            "NPI.exe",
    		            "-c",
                                "entree.txt",
                                " \'maComande\' "
    		        };
    		   
    		   try {
    	    	   Process process = Runtime.getRuntime().exec(T);
    	    	   BufferedReader ds = new BufferedReader(new InputStreamReader(process.getInputStream()));
    dans le premier cas ça se lance et donne les resultats et dans le deuxieme ça marche pas !!

    sachant que l'application NPI.exe lorsque je la lance toute seule (sans l'appler par mon programme java) marche dans les deux cas.

    merci pour votre aide

  2. #2
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    Bonjour aweqqas,

    désolé je n'ai pas vraiment une solution à te proposer. Mais je tombe sur le même problème avec ma classe Java qui exécute des commande linux et je suppose que la source d'erreur sont les symboles \' \'. En faite, ma classe Java passe des commande au système linux pour lancer le lecteur multimédia vlc qui compresse un fichier vidéo. Voici une partie du code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    String commands[] = {"vlc", "/home/…/Camera1/StopFluide1_1.mpg", 
    ":sout=\"#transcode{vcodec=mp4v,vb=16,scale=1}:duplicate{dst=std{access=file,mux=ts,dst=\"/home/bobby/.../Camera1/Bas/StopFluide1_1Bas.mpg\"}}\"", 
    "vlc:quit"
    };
     
                  Runtime r = Runtime.getRuntime();
                  Process p = r.exec(commands);
     
                  System.out.println(Arrays.toString(commands));
    ...
    Quand je lance ce code, je reçois un message de vlc, disant qu’il lui manque des paramètres d'entré. Par contre, si j'enlève le deuxième argument de mon tableau, vlc se lance sans problème. En plus, si je tape ces commandes directement dans la console de Linux, ça fonctionne aussi. J'ai aussi testé cette classe sur windows et ça lance vlc sans problème. C'est pourquoi je suppose que les symbole \" \" sont mal interprétés par linux. Mais je ne sais pas pourquoi et comment l'éviter. Peut-être quelqu'un d'autre dans ce forum a une idée?

    Merci en avance.

    Hochhaar

  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
    Effectivement j'ai pensé moi aussi que \' \' cause un problème du moment que ça marche autrement mais j'ai vraiment tout essayé mais sans solution, en tout cas une proposition de quelqu'un est la bienvenue

  4. #4
    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. fopen avec localhost ne marche pas, seulement en distant
    Par __fabrice dans le forum Langage
    Réponses: 6
    Dernier message: 18/12/2006, 17h35
  2. Carte graphique fx5200 avec redhat9 ne marche pas
    Par nouri.moudhffar dans le forum Administration système
    Réponses: 2
    Dernier message: 24/06/2006, 15h31
  3. [Applet]Développée en java 1.4.2 ne marche pas en 1.4.1
    Par adilou1981 dans le forum Applets
    Réponses: 10
    Dernier message: 06/07/2005, 15h45
  4. [CSS] Bug IE avec height ne marche pas avec les %
    Par El Riiico dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 23/06/2005, 17h11
  5. Réponses: 4
    Dernier message: 30/12/2004, 18h04

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