[Java] lecture particulière d'un fichier ...
boco
Messages postés
3
Statut
Membre
-
Pool Orion Messages postés 124 Statut Membre -
Pool Orion Messages postés 124 Statut Membre -
Bonjour,
J'ai un serieux soucis qui me retarde dans la réaliation de mon projet:
Au départ, je lis simplement un fichier à partir duquel je dois récupèrer les lignes et les stocker dans un vecteur.
Voici la petite partie de code correspondante:
FileInputStream FIS=new FileInputStream(new File(nomRepertoire()+nomFichier()));
BufferedReader BF=new BufferedReader(new FileReader(nomRepertoire()+nomFichier()), FIS.available());
String ligne;
Vector v=new Vector();
while(true)
{
ligne="";
ligne=BF.readLine();
if (ligne==null)
break;
v.addElement(ligne);
}
Readline détermine la fin d’une ligne par la présence dans le fichier du caractère /n ou /r ( l'usage du slash est volontaire).
Or /r ne correspond pas dans mon cas, en considérant le sens du fichier à traiter, à un caractère de fin de ligne.
Je me retrouve donc avec un nombre de ligne erroné, à cause de la prise en compte de /r par readline.
Malheureusement, la solution consistant en la lecture caractère par caractère du fichier en vue de considérer de manière différente le /n (fin d'une ligne, ajout de la ligne dans le vecteur) et le /r (simple caractère) est trop lourde, vu la taille des lignes, et je ne peux pas l'utiliser.
Je cherche désespérement un moyen plus effcicace.
A bon entendeur...
Et merci d'avance pour les réponses!
Boco
J'ai un serieux soucis qui me retarde dans la réaliation de mon projet:
Au départ, je lis simplement un fichier à partir duquel je dois récupèrer les lignes et les stocker dans un vecteur.
Voici la petite partie de code correspondante:
FileInputStream FIS=new FileInputStream(new File(nomRepertoire()+nomFichier()));
BufferedReader BF=new BufferedReader(new FileReader(nomRepertoire()+nomFichier()), FIS.available());
String ligne;
Vector v=new Vector();
while(true)
{
ligne="";
ligne=BF.readLine();
if (ligne==null)
break;
v.addElement(ligne);
}
Readline détermine la fin d’une ligne par la présence dans le fichier du caractère /n ou /r ( l'usage du slash est volontaire).
Or /r ne correspond pas dans mon cas, en considérant le sens du fichier à traiter, à un caractère de fin de ligne.
Je me retrouve donc avec un nombre de ligne erroné, à cause de la prise en compte de /r par readline.
Malheureusement, la solution consistant en la lecture caractère par caractère du fichier en vue de considérer de manière différente le /n (fin d'une ligne, ajout de la ligne dans le vecteur) et le /r (simple caractère) est trop lourde, vu la taille des lignes, et je ne peux pas l'utiliser.
Je cherche désespérement un moyen plus effcicace.
A bon entendeur...
Et merci d'avance pour les réponses!
Boco
A voir également:
- [Java] lecture particulière d'un fichier ...
- Jeux java itel - Télécharger - Jeux vidéo
- Fichier bin - Guide
- Waptrick java football - Télécharger - Jeux vidéo
- Comment ouvrir un fichier epub ? - Guide
- Comment réduire la taille d'un fichier - Guide
2 réponses
Bonjour,
tu dit :
"Malheureusement, la solution consistant en la lecture caractère par caractère du fichier en vue de considérer de manière différente le /n (fin d'une ligne, ajout de la ligne dans le vecteur) et le /r (simple caractère) est trop lourde, vu la taille des lignes, et je ne peux pas l'utiliser."
A ton avis, la méthode readline fait quoi ?
tu dit :
"Malheureusement, la solution consistant en la lecture caractère par caractère du fichier en vue de considérer de manière différente le /n (fin d'une ligne, ajout de la ligne dans le vecteur) et le /r (simple caractère) est trop lourde, vu la taille des lignes, et je ne peux pas l'utiliser."
A ton avis, la méthode readline fait quoi ?
Salut,
Ok pour la lecture caractère par caractère, mais ne peux tu pas lire ligne par ligne (ou du moins ce que la méthode readLine considére comme une ligne) et ensuite tester s'il est nécessaire de concaténer la dernière ligne lue avec la dernière gardée en mémoire avant l'insertion dans ton vecteur?
Ok pour la lecture caractère par caractère, mais ne peux tu pas lire ligne par ligne (ou du moins ce que la méthode readLine considére comme une ligne) et ensuite tester s'il est nécessaire de concaténer la dernière ligne lue avec la dernière gardée en mémoire avant l'insertion dans ton vecteur?
Je n'en profite pas si j'utilise read au lieu de readLine, non?!