Classe de lecteur Java

Classe de lecteur Java

La classe Reader en Java est un classe abstraite pour lire les flux de caractères. Ses sous-classes ( Lecteur de fichiers Lecture tampon ) fournissent des implémentations avec read() étant la méthode principale pour lire les caractères.

  • Il implémente l'interface Readable qui définit la méthode read(CharBuffer cb).
  • Il implémente l'interface Closeable qui définit la méthode close() pour libérer des ressources.
lecteur_Lecteur

Déclaration de classe de lecteur

La déclaration de la classe Reader est donnée ci-dessous :

classe abstraite publique Reader implémente Readable Closeable

Exemple: Lisez un fichier texte caractère par caractère à l'aide de la classe Reader.

Java
   import     java.io.*  ;   public     class   Geeks     {      public     static     void     main  (  String  []     args  )      {      try     {          // Create a FileReader object which is a subclass of Reader      Reader     r     =     new     FileReader  (  'example1.txt'  );      // Read one character at a time from the file      int     data     =     r  .  read  ();      while     (  data     !=     -  1  )     {          // Convert the int to char and print      System  .  out  .  print  ((  char  )  data  );      data     =     r  .  read  ();      }      // Close the reader      r  .  close  ();      }      catch     (  Exception     ex  )     {      System  .  out  .  println  (  'An error occurred: '     +     ex  .  getMessage  ());      }      }   }   

Sortir :

Sortirsortir

Note: Pour garantir que le programme fonctionne correctement, créez un fichier nommé exemple1.txt dans le répertoire de travail.

Ajoutez le contenu suivant au fichier ou vous pouvez ajouter n'importe quel texte.

Bonjour, bienvenue sur Geeks pour Geeks

Enregistrez le fichier et exécutez le programme. Le programme lira et affichera le contenu de l'exemple 1 .txt comme sortie.

Constructeurs de classe Reader

Il existe deux constructeurs utilisés avec Java Reader Class, comme mentionné ci-dessous :

  • Lecteur protégé() : Crée un nouveau lecteur de flux de caractères dont les sections critiques seront synchronisées sur le lecteur lui-même.
  • Lecteur protégé (verrouillage d'objet) : Crée un nouveau lecteur de flux de caractères dont les sections critiques se synchroniseront sur l'objet donné.

Méthodes de la classe Java Reader

Méthode Description
résumé vide fermer() Ferme le flux et libère les ressources.
marque vide (int readAheadLimit) Marque la position actuelle dans le flux.
booléen markSupported() Vérifie si les opérations de marquage/réinitialisation sont prises en charge.
int lire() Lit un seul caractère du flux. Renvoie -1 si la fin est atteinte.
int lire (char[] cbuf) Lit plusieurs caractères dans un tableau.
résumé int read(char[] cbuf int off int len) Lit une partie du tableau en commençant par le décalage pour une longueur len.
int lire (cible CharBuffer) Lit les caractères dans un objet CharBuffer.
annuler la réinitialisation() Réinitialise le flux à la position de marque la plus récente.
long saut (long n) Ignore le nombre spécifié de caractères.

Exemple: Le programme ci-dessous démontre le fonctionnement de diverses fonctionnalités de la classe Reader en Java.

Java
   import     java.io.*  ;   import     java.nio.CharBuffer  ;   import     java.util.Arrays  ;   public     class   Geeks     {      public     static     void     main  (  String  []     args  )      throws     IOException      {      // Open a file reader      Reader     r     =     new     FileReader  (  'file.txt'  );      PrintStream     out     =     System  .  out  ;      // Create a character array and CharBuffer      char  []     buffer     =     new     char  [  10  ]  ;      CharBuffer     charBuffer     =     CharBuffer  .  wrap  (  buffer  );      // Check if the reader supports marking      if     (  r  .  markSupported  ())     {      r  .  mark  (  100  );     // Mark the current position      out  .  println  (  'mark method is supported'  );      }      // Skip 5 characters in the stream      r  .  skip  (  5  );      // Check if the stream is ready to read      if     (  r  .  ready  ())     {      // Read 10 characters into the buffer      r  .  read  (  buffer       0       10  );      out  .  println  (  'Buffer after reading 10 chars: '      +     Arrays  .  toString  (  buffer  ));      // Read characters into the CharBuffer      r  .  read  (  charBuffer  );      out  .  println  (      'CharBuffer contents: '      +     Arrays  .  toString  (  charBuffer  .  array  ()));      // Read a single character      out  .  println  (  'Next character: '      +     (  char  )  r  .  read  ());      }      // Close the reader      r  .  close  ();      }   }   

Sortir:

SortirSortir

Implémentation de classes de lecteurs

Certaines des implémentations des classes Reader en Java sont mentionnées ci-dessous :

  • BufferedReader
  • CharArrayReader
  • Lecteur de filtre
  • Lecteur de flux d'entrée
  • Lecteur canalisé
  • Lecteur de chaînes
Créer un quiz