void convert() {
try {
/* créer des objets file */
File source = new File(fichierSource);
/* créer le flux d'entrée */
FileReader fr = new FileReader(source);
BufferedReader in = new BufferedReader(fr);
boolean eof = false;
int inChar = 0;
int nbr_sequ = 0;
int nbr_elmt = 0;
/* Recherche du nombre de séquences */
System.out.println("Recherche du nombre de sequences...");
do {
inChar = in.read();
if (inChar != -1) {
if (inChar == '[') {
nbr_sequ = nbr_sequ + 1;
}
}
else
eof = true;
} while (!eof);
System.out.println("----> "+nbr_sequ+" sequences trouvees");
/* Recherche du nombre d'éléments dans chaque séquence */
System.out.println("\n\nRecherche du nombre d'elements");
do {
inChar = in.read();
System.out.println(inChar);
if (inChar != -1) {
if (inChar == ';') {
nbr_elmt = nbr_elmt + 1;
}
}
else
System.out.println("\n******\nfin du document\n*****");
in.close();
eof = true;
} while (inChar != ']');
System.out.println(nbr_elmt +"sequences trouvees");
in.close(); // fermeture fichier horizontal
} catch (IOException e) {
System.out.println("Error !!!"+e);
}
} // FIN DE void convert
} // FIND DE class Traitement
Ombitious_Developper
Messages postés2333Date d'inscriptionsamedi 28 février 2004StatutMembreDernière intervention26 juillet 201338 9 nov. 2006 à 23:29
Salut:
Pour relire ton fichier plusieurs fois il faut :
1. soit fermer l'objet BufferedReader avec la méthode close () avant de le lire de nouveau (ceci est pour
réinitialiser le pointeur interne associé au fichier
).
2. soit tu laisses ton objet BufferedReader ouvert mais pour le lire dès le début, tu dois réinitialiser le pointeur interne associé au fichier avec la méthode seek () de la classe java.io.RandomAccessFile pour se positionner au début du fichier.