Citation:
Envoyé par dedeloux
Je pense que lire caratère par caractère n'est pas une bonne idée mais tu peux toujours le faire si ton fichier n'est pas trop gros.
Pour lire caractère par caractère, il te suffit de parcourir ta chaine avec une boucle for ou while.
L'interet de lire byte a byte est justement lorsqu'on ne peut pas charger le contenu du fichier en memoire, lorsqu'il est trop gros.
Non, personnelement, j'utiliserai un bufferedInputStream (celui ci charge une partie du fichier en memoire pour accelerer la lecture), et je lirai caractere par caracteres, modifiant tout les '.' en '\r\n' vers un OutputStream ;)
Enfin si c'est des fichiers leger (<1Mo), tu peu aussi lire tout dans un tableau de Bytes:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| File f = new File(filename);
byte[] b = new byte[f.length];
FileInputStream fis;
try{
fis = new FileInputStream(f);
fis.read(b);
String s = new String(b);
String[] phrases = s.split("\\.");
} catch (IOException e)
{
e.printStackTrace();
} finally
{
fis.close();
} |