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

Java Discussion :

Script Awk dans un programme Java


Sujet :

Java

  1. #1
    Membre à l'essai
    Inscrit en
    Novembre 2010
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 15
    Points : 12
    Points
    12
    Par défaut Script Awk dans un programme Java
    Bonjour,
    Après plusieurs recherches en vain, je me permets de soumettre mon problème sur le forum, en fait je voudrais savoir comment je pourrais utiliser un script awk dans mon programme java.
    J'ai lu qu'il fallait utilisé la librairie jawk.1_02.jar, je l'ai importé dans mon projet.
    mon script awk est le suivant:
    awk '{print "(classe (Personne (id "$1") (age "$2") (sexe "$3"))) \n" }' fichier.txt> fichier.clp

    je voudrais l'utiliser dans mon programme java, comment faire ?

  2. #2
    Membre habitué
    Profil pro
    Opération
    Inscrit en
    Décembre 2012
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Opération

    Informations forums :
    Inscription : Décembre 2012
    Messages : 91
    Points : 188
    Points
    188
    Par défaut
    La lib jawk peut être utilisé via l'api scripting java en ajouté le code de http://java.net/projects/scripting/s...s/jawk?rev=236
    Pour l'utiliser l'api scripting voir le cours java jmdoudou chap scripting http://java.developpez.com/cours/

    Exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
          ScriptEngineManager manager = new ScriptEngineManager();
          ScriptEngine moteur = manager.getEngineByName("jawk");
          if (moteur == null) {
            System.out.println("Impossible de trouver le moteur jawk ");
          } else {
            Bindings bindings = moteur.getBindings(ScriptContext.ENGINE_SCOPE);
            bindings.clear();
            InputStream stdin = new FileInputStream("fichier.txt");
            PrintStream stdout = new PrintStream(new FileOutputStream("fichier.clp"));
            bindings.put("stdin",stdin);
            bindings.put("stdout",stdout);
            moteur.eval("{print \"(classe (Personne (id \"$1\") (age \"$2\") (sexe \"$3\"))) \\n\" }", bindings);
          }
    L'autre solution est peut-être d'utilisé directement la class org.jawk.Awk:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    java.lang.String[] args = {"-o", "fichier.clp", "{print \"(classe (Personne (id \"$1\") (age \"$2\") (sexe \"$3\"))) \\n\" }", "fichier.txt"}
    Awk.invoke(args)

  3. #3
    Membre à l'essai
    Inscrit en
    Novembre 2010
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 15
    Points : 12
    Points
    12
    Par défaut
    merci jdevbe,
    ca resoud mon problème

    Mais dès que le fichier est crée le programme se ferme brutalement,
    il n'execute plus les instructions qui viennent après,

    je ne comprends pas ce qui se passe, j'ai utilisé la premiere méthode.

  4. #4
    Membre à l'essai
    Inscrit en
    Novembre 2010
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 15
    Points : 12
    Points
    12
    Par défaut
    avoir exécution de cette partie:
    moteur.eval("{print \"(classe (Personne (id \"$1\") (age \"$2\") (sexe \"$3\"))) \\n\" }", bindings);
    }
    le programme se ferme brutalement,
    c'est quoi le probleme ?

Discussions similaires

  1. [Velocity] Probleme VelocityContext Dans un programme Java
    Par guizzmo dans le forum API standards et tierces
    Réponses: 1
    Dernier message: 19/06/2007, 09h37
  2. integrer du code perl dans un programme java
    Par alphonse62 dans le forum API standards et tierces
    Réponses: 4
    Dernier message: 07/05/2007, 07h17
  3. [Debutant]jouer un son midi dans un programme Java
    Par Ghurdyl dans le forum Multimédia
    Réponses: 2
    Dernier message: 14/12/2006, 17h57
  4. DataSource dans un programme java
    Par soumou dans le forum JDBC
    Réponses: 1
    Dernier message: 28/11/2006, 11h44
  5. Réponses: 5
    Dernier message: 16/03/2006, 00h37

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