Java BufferedReader (avec des exemples)

Dans ce didacticiel, nous allons découvrir Java BufferedReader et ses méthodes à l'aide d'exemples.

La BufferedReaderclasse du java.iopackage 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 BufferedReadermaintient 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.BuferedReaderpackage. 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 BufferedReadertampon nommé avec le FileReaderfichier nommé.

Ici, le tampon interne du BufferedReadera 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 BufferedReaderclasse 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 lecteur
  • read(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).

Articles intéressants...