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 :

problèmes avec les quotes et les accolades dans Runtime.exec


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2002
    Messages : 114
    Par défaut problèmes avec les quotes et les accolades dans Runtime.exec
    Bonjour,

    j'essaie d'executer la commande

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    awk -F "|" '{print $1,$2}' /home/lala/file
    via "Runtime.getRuntime().exec(String)" ce qui donne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Runtime.getRuntime().exec("awk -F \"|\" '{print $1,$2}' /home/lala/file")
    et ce qui me retourne sur le flux d'erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    awk: 1: unexpected character '''
    awk: line 2: missing } near end of file
    Quelqu'un sait-il d'où peut venir le problème ?

  2. #2
    in
    in est déconnecté
    Membre Expert Avatar de in
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 612
    Par défaut
    pour passer tes paramètres il vaut mieux utiliser un tableau ... c'est expliqué dans la FAQ que tu sûrement lu il me semble

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2002
    Messages : 114
    Par défaut
    ok pardon...

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2002
    Messages : 114
    Par défaut
    J'ai changé en

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Runtime.getRuntime().exec(new String[]{"awk", "-F", "\"|\"", "'{print $1,$2}'", "/home/lala/file"})
    il n'y a plus d'erreur, mais rien n'est retourné. Ce qui veut probablement dire que awk ne trouve pas l'action print. Au secours !

  5. #5
    Expert éminent
    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
    Billets dans le blog
    1
    Par défaut
    Salut,


    Citation Envoyé par yarf
    il n'y a plus d'erreur, mais rien n'est retourné.
    Que veux-tu dire par "rien n'est retourné" ???

    Tu lis bien les flux de sortie au moins ? (et dans des threads séparés)

    Si ce n'est pas le cas une recherche sur le forum s'impose ! Il y a de nombreux sujets sur le problème...

    a++

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2002
    Messages : 114
    Par défaut
    Ce que je veux dire par rien n'est retourné. Voilà le code en simplifié :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    Process p = Runtime.getRuntime().exec(new String[]{"awk", "-F", "\"|\"", "'{print $1,$2}'", "/home/lala/file1"});
    new Thread(){
        public void run() {
    	InputStream is = p.getInputStream();
    	PrintStream ps = new PrintStream(new FileOutputStream("/home/lala/file2"));
    	int lala;
    	while((lala = is.read()) != -1) {
    	    ps.write(lala);
    	    System.out.print(lala);
    	}
    	is.close();
    	ps.close();
        }
    }.start();
    Une fois le programme executé, le fichier file2 est vide et rien n'est affiché sur la sortie standard.

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

Discussions similaires

  1. Réponses: 8
    Dernier message: 16/11/2014, 10h57
  2. Réponses: 9
    Dernier message: 09/12/2008, 00h07
  3. Formulaires : problème avec les slashes et les quotes
    Par GarGamel55 dans le forum Langage
    Réponses: 1
    Dernier message: 12/10/2005, 15h59
  4. problème avec strtok pour récupérer les vides
    Par manikou dans le forum MFC
    Réponses: 4
    Dernier message: 02/06/2005, 20h08

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