La classe
Constructeurs :
Voici un exemple d'utilisation des classes
Lecture d'un fichier :
Voici un exemple d'utilisation des classes
Écriture dans un fichier :
BufferedReader
de Java lit le texte d'un flux de symboles et les met en tampon pour lire efficacement les caractères, tableaux et chaînes. Tu peux transmettre la taille de la mémoire tampon au constructeur en tant que deuxième argument. 
BufferedReader(Reader in) // Creates a buffered stream for reading symbols. It uses the default buffer size.
BufferedReader(Reader in, int sz) // Creates a buffered stream for reading symbols. It uses the specified buffer size.
Méthodes :
close() // Close the stream
mark(int readAheadLimit) // Mark the position in the stream
markSupported() // Indicates whether stream marking is supported
int read() // Read the buffer
int read(char[] cbuf, int off, int len) // Read the buffer
String readLine() // Next line
boolean ready() // Is the stream ready to read?
reset() // Reset the stream
skip(long n) // Skip characters
Voici un exemple d'utilisation des classes BufferedReader
et BufferedWriter
:
Lecture d'un fichier :
import java.io.*;
public class ReadFile {
public static void main(String[] args) {
try {
File file = new File("file.txt");
FileReader fileReader = new FileReader(file); // A stream that connects to the text file
BufferedReader bufferedReader = new BufferedReader(fileReader); // Connect the FileReader to the BufferedReader
String line;
while((line = bufferedReader.readLine()) != null) {
System.out.println(line); // Display the file's contents on the screen, one line at a time
}
bufferedReader.close(); // Close the stream
} catch (Exception e) {
e.printStackTrace();
}
}
}
La classe BufferedWriter
de Java écrit du texte dans un flux de caractères de sortie, en mettant en tampon les caractères afin d'écrire efficacement des caractères, des tableaux et des chaînes. Tu peux transmettre la taille de la mémoire tampon au constructeur en tant que deuxième argument.
Constructeurs :
BufferedWriter(Writer out) // Create a buffered output character stream that uses the default buffer size.
BufferedWriter(Writer out, int sz) // Creates a buffered character output stream that uses a buffer with the specified size.
Méthodes :
close() // Close the stream
flush() // Send the data from the buffer to the Writer
newLine() // Move to a new line
write(char[] cbuf, int off, int len) // Write to the buffer
write(int c) // Write to the buffer
write(String s, int off, int len) // Write to the buffer
Voici un exemple d'utilisation des classes BufferedReader
et BufferedWriter
de Java :
Écriture dans un fichier :
import java.io.*;
public class WriteFile {
public static void main(String[] args) {
String[] list = {"one", "two", "three", "fo"};
try {
File file = new File("file.txt");
FileWriter fileReader = new FileWriter(file); // A stream that connects to the text file
BufferedWriter bufferedWriter = new BufferedWriter(fileReader); // Connect the FileWriter to the BufferedWriter
for (String s : list) {
bufferedWriter.write(s + "\n");
}
bufferedWriter.close (); // Close the stream
} catch (Exception e) {
e.printStackTrace();
}
}
}
FileWriter
écrit immédiatement les données sur le disque. Chaque fois que nous y accédons, la mémoire tampon qui l'entoure accélère notre application. La mémoire tampon écrit des données en interne, puis écrit plus tard de gros blocs de fichier sur le disque.
Nous lisons les données de la console et les écrivons dans un fichier :
import java.io.*;
class ConsoleRead {
public static void main(String[] args) {
try {
File file = new File("file.txt");
InputStreamReader inputStreamReader = new InputStreamReader(System.in); // A stream for reading from the console
BufferedReader bufferedReader = new BufferedReader(inputStreamReader); // Connect InputStreamReader to a BufferedReader
FileWriter fileReader = new FileWriter(file); // A stream that connects to the text file
BufferedWriter bufferedWriter = new BufferedWriter(fileReader); // Connect the FileWriter to the BufferedWriter
String line;
while(!(line = bufferedReader.readLine()).equals("exit")) {
bufferedWriter.write(line);
}
bufferedReader.close(); // Close the stream
bufferedWriter.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
Cet article est également disponible en anglais: |
---|
Read the English version of this article to better understand Java’s BufferedReader and BufferedWriter classes. Find out why and how they use buffering to your advantage. |
GO TO FULL VERSION