Classe Java BufferedReader
Classe Java BufferedReader
Dans ce didacticiel, nous allons découvrir Java BufferedReader et ses méthodes à l'aide d'exemples.
Le BufferedReader
classe du java.io
peut être utilisé avec d'autres lecteurs pour lire les données (en caractères) plus efficacement.
Il étend la classe abstraite Reader
.
" "
Fonctionnement de BufferedReader
Le BufferedReader
maintient un tampon interne de 8192 caractères .
Lors de l'opération de lecture en BufferedReader
, un bloc de caractères est lu à partir du disque et stocké dans la mémoire tampon interne. Et à partir du tampon interne, les caractères sont lus individuellement.
Par conséquent, le nombre de communications vers le disque est réduit. C'est pourquoi la lecture des caractères est plus rapide en utilisant BufferedReader
.
Créer un BufferedReader
Pour créer un BufferedReader
, il faut importer le java.io.BuferedReader
paquet d'abord. Une fois le package importé, voici comment créer le lecteur.
// Creates a FileReader
FileReader file = new FileReader(String file);
// Creates a BufferedReader
BufferedReader buffer = new BufferedReader(file);
Dans l'exemple ci-dessus, nous avons créé un BufferedReader
nommé tampon avec le FileReader
nommé fichier .
Ici, le buffer interne du BufferedReader
a la taille par défaut de 8192 caractères. Cependant, nous pouvons également spécifier la taille du tampon interne.
// Creates a BufferdReader with specified size internal buffer
BufferedReader buffer = new BufferedReader(file, int size);
Le tampon aidera à lire plus rapidement les caractères des fichiers.
Méthodes de BufferedReader
Le BufferedReader
la classe fournit des implémentations pour différentes méthodes présentes dans Reader
.
méthode read()
read()
- lit un seul caractère du tampon interne du lecteurread(char[] array)
- lit les caractères du lecteur et les stocke dans le tableau spécifiéread(char[] array, int start, int length)
- lit le nombre de caractères égal à longueur du lecteur et stocke dans le tableau spécifié à partir de la position début
Par exemple, supposons que nous ayons un fichier nommé input.txt avec le contenu suivant.
This is a line of text inside the file.
Essayons de lire le fichier en utilisant BufferedReader
.
import java.io.FileReader;
import java.io.BufferedReader;
class Main {
public static void main(String[] args) {
// Creates an array of character
char[] array = new char[100];
try {
// Creates a FileReader
FileReader file = new FileReader("input.txt");
// Creates a BufferedReader
BufferedReader input = new BufferedReader(file);
// Reads characters
input.read(array);
System.out.println("Data in the file: ");
System.out.println(array);
// Closes the reader
input.close();
}
catch(Exception e) {
e.getStackTrace();
}
}
}
Sortie
Data in the file: This is a line of text inside the file.
Dans l'exemple ci-dessus, nous avons créé un lecteur tamponné nommé input . Le lecteur tamponné est lié au input.txt fichier.
FileReader file = new FileReader("input.txt");
BufferedReader input = new BufferedReader(file);
Ici, nous avons utilisé le read()
méthode pour lire un tableau de caractères à partir du tampon interne du lecteur tamponné.
Méthode skip()
Pour supprimer et ignorer le nombre de caractères spécifié, nous pouvons utiliser le skip()
méthode. Par exemple,
import java.io.FileReader;
import java.io.BufferedReader;
public class Main {
public static void main(String args[]) {
// Creates an array of characters
char[] array = new char[100];
try {
// Suppose, the input.txt file contains the following text
// This is a line of text inside the file.
FileReader file = new FileReader("input.txt");
// Creates a BufferedReader
BufferedReader input = new BufferedReader(file);
// Skips the 5 characters
input.skip(5);
// Reads the characters
input.read(array);
System.out.println("Data after skipping 5 characters:");
System.out.println(array);
// closes the reader
input.close();
}
catch (Exception e) {
e.getStackTrace();
}
}
}
Sortie
Data after skipping 5 characters: is a line of text inside the file.
Dans l'exemple ci-dessus, nous avons utilisé le skip()
méthode pour sauter 5 caractères du lecteur de fichier. Ainsi, les caractères 'T'
, 'h'
, 'i'
, 's'
et ' '
sont ignorés du fichier d'origine.
Méthode close()
Pour fermer le lecteur tamponné, nous pouvons utiliser le close()
méthode. Une fois le close()
est appelée, nous ne pouvons pas utiliser le lecteur pour lire les données.
Autres méthodes de BufferedReader
Méthode | Description |
---|---|
ready() | vérifie si le lecteur de fichiers est prêt à être lu |
mark() | marquer la position dans le lecteur jusqu'à laquelle les données ont été lues |
reset() | renvoie le contrôle au point du lecteur où la marque a été définie |
Pour en savoir plus, visitez Java BufferedReader (documentation officielle de Java).
Java