Dans ce didacticiel, nous allons découvrir Java BufferedReader et ses méthodes à l'aide d'exemples.
La BufferedReader
classe du java.io
package peut être utilisée avec d'autres lecteurs pour lire plus efficacement les données (en caractères).
Il étend la classe abstraite Reader
.
Fonctionnement de BufferedReader
Le BufferedReader
maintient un tampon interne de 8192 caractères .
Pendant l'opération de lecture dans 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 avec le disque est réduit. C'est pourquoi la lecture des caractères est plus rapide à utiliser BufferedReader
.
Créer un BufferedReader
Pour créer un BufferedReader
, nous devons d'abord importer le java.io.BuferedReader
package. 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
tampon nommé avec le FileReader
fichier nommé.
Ici, le tampon 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
La BufferedReader
classe fournit des implémentations pour différentes méthodes présentes dans Reader
.
read (), méthode
read()
- lit un seul caractère dans la mémoire 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 à la longueur du lecteur et stocke dans le tableau spécifié à partir de la position de 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(); ) ) )
Production
Données dans le fichier: il s'agit d'une ligne de texte à l'intérieur du fichier.
Dans l'exemple ci-dessus, nous avons créé un lecteur tamponné nommé input. Le lecteur tamponné est lié au fichier input.txt .
FileReader file = new FileReader("input.txt"); BufferedReader input = new BufferedReader(file);
Ici, nous avons utilisé la read()
méthode pour lire un tableau de caractères à partir du tampon interne du lecteur tamponné.
skip (), méthode
Pour supprimer et ignorer le nombre de caractères spécifié, nous pouvons utiliser la 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(); ) ) )
Production
Données après avoir sauté 5 caractères: est une ligne de texte à l'intérieur du fichier.
Dans l'exemple ci-dessus, nous avons utilisé la skip()
méthode pour sauter 5 caractères du lecteur de fichiers. Par conséquent, les personnages 'T'
, 'h'
, 'i'
, 's'
et ' '
sont sautées à partir du fichier d' origine.
close (), méthode
Pour fermer le lecteur tamponné, nous pouvons utiliser la close()
méthode. Une fois la close()
méthode appelée, nous ne pouvons pas utiliser le lecteur pour lire les données.
Autres méthodes de BufferedReader
Méthode | La 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é placée |
Pour en savoir plus, visitez Java BufferedReader (documentation Java officielle).