Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1236 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  Problème de lecture de fichier avec java

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Problème de lecture de fichier avec java

n°676783
lapartdomb​re
Posté le 18-03-2004 à 08:36:22  profilanswer
 

J'aimerai parcourir un fichier texte ligne par ligne et pour chaque ligne  
mot par mot afin d'isoler certaines informations pour les inclures dans une  
base de données. J'ai fait des recherches mais je ne trouve pas la bonne  
méthodes pour parcourir mon fichier.
 
 
Extrait de fichier :
 
 SCHEDULE BCA5000#STEST3
         ON      10/29/03, 10/30/03
 
         AT      1415
:
   BCA5000#JOB_DIR
END
 
 
SCHEDULE FORMATIO#S1CPT1
         ON      CFACT1
 
         AT      1500
         LIMIT   1
         PROMPT  M1OKCPT
:
   FORMATIO#J1CPT11
   FORMATIO#J1CPT12
         OPENS   TECH#"/opt/maestro8/maestro/ares/fic_cal"
         FOLLOWS J1CPT11
   FORMATIO#J1CPT13
         FOLLOWS J1CPT12
END
 
 
 
Par exemple dans ce fichier, je dois isoler le nom de la schedule situé après  
le mot clé SCHEDULE, le nom du cpu après le #.  Et récupérer différentes  
informations caractérisé par les mots cles AT, ON, LIMIT,....
 
J'aimerai avoir vos conseils et savoir quelle méthode permet de parcourir le  
fichier ligne par ligne.
Merci d'avance

mood
Publicité
Posté le 18-03-2004 à 08:36:22  profilanswer
 

n°676784
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 18-03-2004 à 08:38:53  profilanswer
 

Bin faut voir du côté de java.io.FileReader. Essaie de construire un BufferedReader à partir de ça ; après c'est du readLine() et hop.

n°676785
lapartdomb​re
Posté le 18-03-2004 à 08:48:13  profilanswer
 

OK je vais essayer. J'étais parti avec une lecture par StreamTokenizer mais je n'arrive pas à parcourir toutes les données et je ne peux pas passer les lignes qui ne m'intéresse pas.
 
Merci pour tout

n°700351
pascal34
one point !
Posté le 15-04-2004 à 16:29:29  profilanswer
 

Vu que ton truc ressemble à un langage, tu devrais peut-être
penser à écrire un parser avec JavaCC ou antlr ou autre.

n°700355
lapartdomb​re
Posté le 15-04-2004 à 16:32:17  profilanswer
 

qu'est ce qu'un parser et comment ca fonctionne?
 

n°700390
pascal34
one point !
Posté le 15-04-2004 à 17:02:41  profilanswer
 

lapartdombre a écrit :

qu'est ce qu'un parser et comment ca fonctionne?
 
 


 
La base c'est de définir la grammaire de ton langage et de la donner à manger à un outil qui te pond un parser et un analyseur syntaxique adapté à ton langage.
 
Le rôle du parser est de produire une suite de jetons avec leur type. Un jeton est un mot-clé de ton langage ou une variable ou un nombre ou tout autre chose que tu as défini dans la grammaire.
 
Le rôle de l'analyseur syntaxique est de prendre les jetons fournis par le parseur et de s'assurer qu'il se apparaissent de manière cohérente par rapport à la la grammaire. Pour comparer avec le langage humain, le parser traite les mots et l'analyseur syntaxique les phrases.
 
Au final tu obtiens un arbre syntaxique (AST: Abstract Syntaxic Tree) qui est une hiérarchie d'objets représentant ton code source.
 
là tu peux tranquilement parcourir cet arbre pour extraire ce que tu veux.
 
Une grammaire c'est pas un truc forcément facile à écrire et ça peut te paraître lourd pour ce que tu veux faire mais aujourd'hui tu as besoin de sortir certaines infos de tes fichiers et demain ça sera autre chose en plus.
Si tu commences par des readLine() et des StringTokenizer ça sera pas très évolutif compte tenu de l'apparente complexité de tes fichiers

n°1022340
megabuck2
Posté le 23-03-2005 à 15:27:50  profilanswer
 

le parser est plutot l'analyseur syntaxique!
Ce que tu definie comme parser est l'analyseur lexicale!
En tout cas c'est ce que je crois:)
 

n°1150779
fredoblanc
Posté le 15-07-2005 à 17:07:27  profilanswer
 

megabuck2 a écrit :

le parser est plutot l'analyseur syntaxique!
Ce que tu definie comme parser est l'analyseur lexicale!
En tout cas c'est ce que je crois:)


 
Nan nan : un parser standard analyse un fichier lexicalement (le fichier ne devra comporter uniquement des lexème reconnus : pas de "zqwtxyzw" ) et sémantiquement (syntaxe correcte: les lexèmes ne peuvent pas être placés n'importe comment).
 
Mais pour un problème comme ça, coder un parser c'est un peu enfoncer un clou avec un superTanker :) Ca marche du tonnerre mais y'a plus simple (en fouillant des les I/O de java).


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  Problème de lecture de fichier avec java

 

Sujets relatifs
[batch] Récupérer le dernier fichier créé d'un répertoire[SQL] Problème avec un COUNT()
Petit problème étrange sur lecture de fichieraudio et java
lire un fichier avec XSLComment modifier un fichier texte a partir d'un programme
probleme avec les variables de sessionProblème avec les 'keys' d'un map de la STL
[JAVA] Probleme lecture fichier texte 
Plus de sujets relatifs à : Problème de lecture de fichier avec java


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR