Classe Java PushbackReader

Classe Java PushbackReader

Le Classe PushbackReader en Java fait partie du java.io.package et est utilisé pour lire les caractères d'un flux. Cette classe nous permet de repousser les personnages dans le flux.

Caractéristiques de la classe PushbackReader :

  • Cette classe utilise un tampon qui nous permet de repousser les caractères dans le flux.
  • Ce cours est idéal pour lire du texte et vérifier des caractères sans les utiliser immédiatement. Si le personnage n’est pas nécessaire, il peut être repoussé.

Exemple:

Java
   // Demonstrating the working    // of PushbackReader   import     java.io.*  ;   public     class   Geeks     {          public     static     void     main  (  String  []     args  )     {      String     s     =     'Hello World!'  ;      StringReader     sr     =     new     StringReader  (  s  );      // Create a PushbackReader with the StringReader      PushbackReader     pr     =     new     PushbackReader  (  sr  );      try     {      // Read the first character      int     char1     =     pr  .  read  ();      System  .  out  .  println  (  'Read character: '     +     (  char  )     char1  );      // Push this character back into the stream      pr  .  unread  (  char1  );      // Read the same character again (since we pushed it back)      int     char2     =     pr  .  read  ();      System  .  out  .  println  (  'Read character again: '     +     (  char  )     char2  );         // Continue reading the next character      int     char3     =     pr  .  read  ();      System  .  out  .  println  (  'Next character: '     +     (  char  )     char3  );         // Close the reader      pr  .  close  ();      }     catch     (  IOException     e  )     {      e  .  printStackTrace  ();      }      }   }   

Sortir
Read character: H Read character again: H Next character: e  


Déclaration de la classe PushbackReader

La classe Déclaration de PushbackReader est répertoriée ci-dessous :

la classe publique PushbackReader étend FilterReader

Toutes les interfaces implémentées :

  • Fermable : Cette interface permet de libérer des ressources
  • Fermeture automatique : Cette interface permet la fermeture automatique dans une instruction try-with-resources.
  • Lisible: Cette interface est utilisée pour lire les données de l'objet.

Constructeurs dans PushbackReader

Cette classe se compose de deux constructeurs à l’aide desquels nous pouvons créer des objets de cette classe de différentes manières. Voici les constructeurs disponibles dans cette classe :

1. PushbackReader (Push du lecteur) : Ce constructeur est utilisé pour créer un nouveau PushbackReader avec un tampon de refoulement par défaut.

Syntaxe:

public PushbackReader (Push du lecteur)

Exemple:

Java
   // Demonstrating the working    // of PushbackReader(Reader push)   import     java.io.*  ;   public     class   Geeks     {      public     static     void     main  (  String  []     args  )     {          // String to be read      String     s     =     'Hello World!'  ;          // Create a StringReader to read from the string      StringReader     sr     =     new     StringReader  (  s  );      // Create a PushbackReader with the StringReader      PushbackReader     pr     =     new     PushbackReader  (  sr  );      try     {      // Read and print characters      int     charRead  ;      while     ((  charRead     =     pr  .  read  ())     !=     -  1  )     {      System  .  out  .  print  ((  char  )     charRead  );      }      // Close the PushbackReader      pr  .  close  ();      }     catch     (  IOException     e  )     {      e  .  printStackTrace  ();      }      }   }   

Sortir
Hello World! 


2. PushbackReader (taille push int du lecteur) : Ce constructeur nous permet de spécifier la taille du tampon de pushback

Syntaxe:

public PushbackReader (taille push int du lecteur)

Exemple:

Java
   // Demonstrating the working   // of PushbackReader(Reader push int size)   import     java.io.*  ;   public     class   Geeks  {      public     static     void     main  (  String  []     args  )     {          // String to be read      String     s     =     'Hello World!'  ;          // Create a StringReader to read from the string      StringReader     sr     =     new     StringReader  (  s  );      // Create a PushbackReader with the StringReader       // and a specified buffer size of 20      PushbackReader     pr     =     new     PushbackReader  (  sr       20  );      try     {      // Read and print characters      int     charRead  ;      while     ((  charRead     =     pr  .  read  ())     !=     -  1  )     {      System  .  out  .  print  ((  char  )     charRead  );      }      // Close the PushbackReader      pr  .  close  ();      }     catch     (  IOException     e  )     {      e  .  printStackTrace  ();      }      }   }   

Sortir
Hello World! 


Méthodes Java PushbackReader

L'image ci-dessous montre les méthodes de la classe CharArrayWriter.

Classe io.PushbackReader en Java


Nous allons maintenant discuter de chaque méthode une par une en détail :

1. lire() : Cette méthode est utilisée pour lire un caractère à la fois dans le flux

Syntaxe:

public int lire()

  • Paramètre: Cette méthode ne prend aucun paramètre.
  • Type de retour : Cette méthode renvoie le caractère lu sous forme d'entier ou renvoie -1 lorsque la fin du flux est atteinte.


2. read(char[] carray int offset int maxlen) : Cette méthode est utilisée pour lire un morceau de caractères.

Syntaxe:

public int read (char[] carray int offset int maxlen)

  • Paramètre: Cette méthode comprend trois paramètres répertoriés ci-dessous
    • char[] carray : C'est un tableau de caractères où les caractères lus seront stockés.
    • décalage int : C'est la position de départ dans le tableau
    • int maxlen : C'est le nombre maximum de caractères à lire.
  • Type de retour : Cette méthode renvoie le nombre de caractères lus


3. fermer() : Cette méthode est utilisée pour fermer le lecteur

Syntaxe:

public vide fermer()

  • Paramètre: Cette méthode ne prend aucun paramètre
  • Type de retour : Cette méthode ne renvoie rien.


4. marque(int readAheadLimit) : Cette méthode est utilisée pour marquer la position actuelle dans le flux

Syntaxe:

marque vide publique (int readAheadLimit)

  • Paramètre: Cette méthode comprend un paramètre readAheadLimit qui spécifie le nombre maximum de caractères pouvant être lus avant que la position de la marque ne devienne invalide.
  • Type de retour : Cette méthode ne renvoie rien


5. sauter(long n): Cette méthode est utilisée pour sauter un certain nombre de caractères.

Syntaxe:

saut long public (long n)

  • Paramètre: Cette méthode comprend un paramètre long n qui correspond au nombre de caractères à ignorer dans le flux.
  • Type de retour : Cette méthode renvoie le nombre de caractères ignorés


6. réinitialiser() : Cette méthode est utilisée pour revenir à la position où mark() a été appelé.

Syntaxe:

réinitialisation du vide public ()

  • Paramètre: Cette méthode ne prend aucun paramètre
  • Type de retour : Cette méthode ne renvoie rien


7. markSupported() : Cette méthode indique si le flux prend en charge le marquage ou non

Syntaxe:

public booléen markSupported()

  • Paramètre: Cette méthode ne prend aucun paramètre
  • Type de retour : Cette méthode renvoie false car le marquage n'est pas pris en charge.


8. prêt() : Cette méthode vérifie si le flux est prêt à être lu ou non.

Syntaxe:

public booléen prêt()

  • Paramètre: Cette méthode ne prend aucun paramètre
  • Type de retour : Cette méthode renvoie true si le flux est prêt.


9. non lu(int c) : Cette méthode est utilisée pour repousser le personnage dans le flux.

Syntaxe:

public void non lu (int c)

  • Paramètre: Cette méthode prend un seul paramètre qui est c qui est le caractère à repousser dans le flux.
  • Type de retour : Cette méthode ne renvoie rien.


10. non lu(char[] carray) : Cette méthode est utilisée pour repousser un tableau de caractères dans le flux.

Syntaxe:

public void non lu (char[] carray)

  • Paramètre: Cette méthode prend un tableau de caractères à repousser dans le flux.
  • Type de retour : Cette méthode ne renvoie rien.


Programme Java pour démontrer les méthodes PushbackReader

Exemple:

Java
   // Demonstrating the working   // of methods of PushbackReader class   import     java.io.*  ;   public     class   Geeks     {      public     static     void     main  (  String  []     args  )     throws     IOException     {      String     s     =     'GeeksForGeeks'  ;      StringReader     sr     =     new     StringReader  (  s  );      PushbackReader     pr     =     new     PushbackReader  (  sr  );      // Check if the stream is ready      System  .  out  .  println  (  'Is the stream ready? '     +     pr  .  ready  ());      // Use read() and skip()      System  .  out  .  print  (  'Using read() and skip(): '  );      for     (  int     i     =     0  ;     i      <     3  ;     i  ++  )     {      char     c     =     (  char  )     pr  .  read  ();     // Read 1 char      System  .  out  .  print  (  c  );      pr  .  skip  (  1  );     // Skip next char      }      char     c     =     (  char  )     pr  .  read  ();     // read next char after 3 skip cycles      System  .  out  .  print  (  c  );         // Now read() with array – only 1 char expected      char  []     arr     =     new     char  [  1  ]  ;      pr  .  read  (  arr  );      System  .  out  .  println  (  'nUsing read() with an array: '     +     new     String  (  arr  ));      // Unread and read back      pr  .  unread  (  'F'  );      char     nextChar     =     (  char  )     pr  .  read  ();      System  .  out  .  println  (  'After unread() the next character: '     +     nextChar  );      // Close the reader      pr  .  close  ();      }   }   

Sortir
Is the stream ready? true Using read() and skip(): Geso Using read() with an array: r After unread() the next character: F  
Créer un quiz