Revenir au début d'un BufferedReader
Résolu
madeinloveyou
Messages postés
71
Statut
Membre
-
madeinloveyou Messages postés 71 Statut Membre -
madeinloveyou Messages postés 71 Statut Membre -
Bonjour,
voici mon code :
=> String s = /home/gaelle/Oligo.fasta
BufferedReader BR = new BufferedReader(new FileReader(s));
if(BR.readLine().substring(0,1).equals(">")){
...
}
à cause du if je lis la première ligne, mais j'en ai encore besoin après !!
Comment revenir à la première ligne ?
J'ai essayé de mettre un BR.mark() puis reset(), mais sans succès ...
en plus je ne sait quel entier mettere pour mark ??
voici mon code :
=> String s = /home/gaelle/Oligo.fasta
BufferedReader BR = new BufferedReader(new FileReader(s));
if(BR.readLine().substring(0,1).equals(">")){
...
}
à cause du if je lis la première ligne, mais j'en ai encore besoin après !!
Comment revenir à la première ligne ?
J'ai essayé de mettre un BR.mark() puis reset(), mais sans succès ...
en plus je ne sait quel entier mettere pour mark ??
Configuration: Linux Epiphany 2.14
6 réponses
-
(Re) salut Gaëlle,
à cause du if je lis la première ligne, mais j'en ai encore besoin après !!
Comment revenir à la première ligne ?
Tu conserves la ligne dans une variable locale.
Exemple:String curLine = null; while ((curLine = br.readLine()) != null) { // ici ton code testant curLine }
Remarque générale: essaie de respecter la convention de nommage Java (nom des variables commençant par minuscule).
++ -
Le problème c ke j'ai besoin de savoir par quel caractère le fichier commence !!
en fonction de ca j'effectue différent traitement !!! -
Ben tu testes la première ligne... ^^
// lire la 1ère ligne String curLine = br.readLine(); if (curLine != null) { if (curLine.startsWith(">") { // ... while ((curLine = br.readLine()) != null) { // ici ton code utilisant curLine } } else { // ... } }
++ -
en fait g fait autre chose qui marche :
// je créer un buff pour ensuite enregistrer le premier caractère
BufferedReader buffR = new BufferedReader(new FileReader(s));
String auxline = buffR.readLine().substring(0,1);
buffR.close();
// je le ferme, du coup après je peut utiliser un autre ... et j'ai donc ma fameuse 1ère ligne !! =)
java.sql.Statement stmt = connexion.createStatement();
BufferedReader BR = new BufferedReader(new FileReader(s));
String line = BR.readLine();
int i = 1;
int index [] = new int [3];
if(auxline.equals(">")){
while ((line = BR.readLine()) != null){
....
Merci com même !!!
a++ -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
^^ Il n'y a pas de quoi...
Il serait bien de lire les réponses & d'essayer de comprendre ce que l'autre te dit. Ton code de remplacement n'est pas optimisé (il ouvre 2 fois le stream).
Mais bon, je crois demander trop là... -
oui je c coté optimisation c pa top !!!
en effet c peu etre bcp demandé ^^ ....mdr