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 :

parsing à l'aide de java


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    28
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Tunisie

    Informations forums :
    Inscription : Avril 2006
    Messages : 28
    Par défaut parsing à l'aide de java
    svp à l'aide de java je veux extraire des champs de ce fichier
    comment je peux faire a l'aide de java ...???

    par exemple :
    19:30:0 BBSIG-TPU0 Accumulated path loss difference -4709100
    20:0:0 BBSIG-TPU0 Accumulated path loss difference -5059392

    merci d'avance

    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
     
    1                 Number Of Valid Data Blocks:                48
                      FY Number                                  2
                      TRX Number                                  0
     
    1.1               Suspect Flag                                Correct Data
                      Observed HW                                 FY
                      Type Of Hardware                            CU
                      HW Instance                                 RACK: 0 / CU: 
    2
                      TimeStamp                                   23/3/2007 - 
    19:30:0
     
    1.1.0             BBSIG-TPU0
    1.1.0.1           Accumulated path loss difference            -4709100
    1.1.0.2           Accumulated measurement samples             556332
    1.1.0.3           Accumulated calls                           363
     
    1.1.1             BBSIG-TPU1
    1.1.1.1           Accumulated path loss difference            0
    1.1.1.2           Accumulated measurement samples             0
    1.1.1.3           Accumulated calls                           0
     
    1.1.2             BBSIG-TPU2
    1.1.2.1           Accumulated path loss difference            0
    1.1.2.2           Accumulated measurement samples             0
    1.1.2.3           Accumulated calls                           0
     
    1.1.3             BBSIG-TPU3
    1.1.3.1           Accumulated path loss difference            0
    1.1.3.2           Accumulated measurement samples             0
    1.1.3.3           Accumulated calls                           0
     
    1.1.4             BBSIG-TPU4
    1.1.4.1           Accumulated path loss difference            0
    1.1.4.2           Accumulated measurement samples             0
    1.1.4.3           Accumulated calls                           0
     
    1.1.5             BBSIG-TPU5
    1.1.5.1           Accumulated path loss difference            0
    1.1.5.2           Accumulated measurement samples             0
    1.1.5.3           Accumulated calls                           0
     
     
     
    1.2               Suspect Flag                                Correct Data
                      Observed HW                                 SiemensHWP
                      Type Of Hardware                            CU
                      HW Instance                                 RACK: 0 / CU: 
    2
                      TimeStamp                                   23/3/2007 - 
    20:0:0
     
    1.2.0             BBSIG-TPU0
    1.2.0.1           Accumulated path loss difference            -5059392
    1.2.0.2           Accumulated measurement samples             671028
    1.2.0.3           Accumulated calls                           395
     
    1.2.1             BBSIG-TPU1
    1.2.1.1           Accumulated path loss difference            0
    1.2.1.2           Accumulated measurement samples             0
    1.2.1.3           Accumulated calls                           0
     
    1.2.2             BBSIG-TPU2
    1.2.2.1           Accumulated path loss difference            0
    1.2.2.2           Accumulated measurement samples             0
    1.2.2.3           Accumulated calls                           0
     
    1.2.3             BBSIG-TPU3
    1.2.3.1           Accumulated path loss difference            0
    1.2.3.2           Accumulated measurement samples             0
    1.2.3.3           Accumulated calls                           0
     
    1.2.4             BBSIG-TPU4
    1.2.4.1           Accumulated path loss difference            0
    1.2.4.2           Accumulated measurement samples             0
    1.2.4.3           Accumulated calls                           0
     
    1.2.5             BBSIG-TPU5
    1.2.5.1           Accumulated path loss difference            0
    1.2.5.2           Accumulated measurement samples             0
    1.2.5.3           Accumulated calls                           0

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    28
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Tunisie

    Informations forums :
    Inscription : Avril 2006
    Messages : 28
    Par défaut
    j'ai réussi a lire le fichier ligne par ligne et j'ai utilisé les "Stream et String" Tokenizer mais j'ai pas réussi a extraire ces champs
    est ce que quelqu'un peut m'aider

  3. #3
    Membre Expert
    Avatar de afrikha
    Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    1 600
    Détails du profil
    Informations personnelles :
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 600
    Par défaut
    Bonjour,
    Peux-tu nous montrer le code que tu utilises pour extraire les champs ?
    Sinon au passage sache qu'il vaut mieux utiliser la méthode split de la classe String au lieu de StringTokenizer car d'après la javadoc :

    StringTokenizer is a legacy class that is retained for compatibility reasons although its use is discouraged in new code. It is recommended that anyone seeking this functionality use the split method of String or the java.util.regex package instead.
    @+


    Mes publications
    Lisez
    Les régles du forum
    Pensez au bouton

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    28
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Tunisie

    Informations forums :
    Inscription : Avril 2006
    Messages : 28
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    BufferedReader filein = new BufferedReader(new FileReader("monfichier.txt"));
     
     while ( (currentLine=filein.readLine()) != null )
       {
        StringTokenizer st=new StringTokenizer(currentLine, ":");
       while (st.hasMoreElements())
       {
          String tList=st.nextElement();
       } 
     
    }
    ou encore j'ai utilisé ce code

    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    try {
            // Create the tokenizer to read from a file
            FileReader rd = new FileReader("filename.java");
            StreamTokenizer st = new StreamTokenizer(rd);
     
            // Prepare the tokenizer for Java-style tokenizing rules
            st.parseNumbers();
            st.wordChars('_', '_');
            st.eolIsSignificant(true);
     
            // If whitespace is not to be discarded, make this call
            st.ordinaryChars(0, ' ');
     
            // These calls caused comments to be discarded
            st.slashSlashComments(true);
            st.slashStarComments(true);
     
            // Parse the file
            int token = st.nextToken();
            while (token != StreamTokenizer.TT_EOF) {
                token = st.nextToken();
                switch (token) {
                case StreamTokenizer.TT_NUMBER:
                    // A number was found; the value is in nval
                    double num = st.nval;
                    break;
                case StreamTokenizer.TT_WORD:
                    // A word was found; the value is in sval
                    String word = st.sval;
                    break;
                case '"':
                    // A double-quoted string was found; sval contains the contents
                    String dquoteVal = st.sval;
                    break;
                case '\'':
                    // A single-quoted string was found; sval contains the contents
                    String squoteVal = st.sval;
                    break;
                case StreamTokenizer.TT_EOL:
                    // End of line character found
                    break;
                case StreamTokenizer.TT_EOF:
                    // End of file has been reached
                    break;
                default:
                    // A regular character was found; the value is the token itself
                    char ch = (char)st.ttype;
                    break;
                }
            }
            rd.close();
        } catch (IOException e) {
        }
    depuis ce site
    http://www.exampledepot.com/egs/java.io/ParseJava.html

    si vous pouvez m'éclaircir sur le split de la classe string ?

    merci

  5. #5
    Membre Expert Avatar de guigui5931
    Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2006
    Messages
    1 667
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 667
    Par défaut
    La méthode split, comme le dis la javadoc, permet de séparer une chaine en utilisant une expression comme critère. Le résultat est mis dans un tableau de String.
    Tu pourais faire un truc du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    BufferedReader filein = new BufferedReader(new FileReader("monfichier.txt"));
     
     while ( (currentLine=filein.readLine()) != null )
       {
           String tab[]=currentLine.split(":");
           for (int i=0;i<tab.length;i++){
               //traitement pour chacune des parties de la chaine par exemple l'affichage
               System.out.println(tab[i]);
           }
    }
    En espérant t'aider

  6. #6
    Membre Expert
    Avatar de afrikha
    Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    1 600
    Détails du profil
    Informations personnelles :
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 600
    Par défaut
    Il faut mettre les champs récupérés dans un tableau...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    BufferedReader filein = new BufferedReader(new FileReader("monfichier.txt"));
     
    String[] champs;
     while ( (currentLine=filein.readLine()) != null )
       {
        champs=currentLine.split(":");
        //traitement que tu veux faire sur les champs de la ligne courante
     
    }
    @+

    [Edit] Grillé


    Mes publications
    Lisez
    Les régles du forum
    Pensez au bouton

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    28
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Tunisie

    Informations forums :
    Inscription : Avril 2006
    Messages : 28
    Par défaut
    si mon fichier avez une structure avec des séparateurs telle que : ou ; ça aurai été plus facile mais comme vous voyez mon fichier
    ....

Discussions similaires

  1. [Javadoc] Aide de Java 1.6
    Par Mister Nono dans le forum Eclipse Java
    Réponses: 5
    Dernier message: 13/04/2007, 16h33
  2. faire une aide sous java
    Par nutix2003 dans le forum EDI et Outils pour Java
    Réponses: 8
    Dernier message: 11/04/2007, 04h26
  3. Besoin de l'aide connection java-oracle 9i
    Par Dx_ter dans le forum Oracle
    Réponses: 6
    Dernier message: 28/12/2006, 12h08
  4. Connexion à SqlServeur à l'aide de java
    Par ushernas84 dans le forum JDBC
    Réponses: 2
    Dernier message: 30/10/2006, 13h41
  5. [Système][Class-Path]cherche aide sous java pour fedoracore ou linux
    Par mickey hollywood dans le forum Général Java
    Réponses: 4
    Dernier message: 29/03/2005, 01h13

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