Classe Java StringBufferInputStream

Classe Java StringBufferInputStream

Le Classe StringBufferInoutStream en Java nous permet de créer un flux d'entrée à partir d'une chaîne afin que nous puissions en lire des octets. Il ne fonctionne qu'avec les 8 bits inférieurs de chaque caractère. Il ne peut pas gérer toute la gamme de valeurs de caractères. Au lieu d'utiliser cette classe, la meilleure approche consiste à utiliser ByteArrayInputStream qui n'a pas cette limitation, il peut lire la gamme complète des valeurs de caractères.

Note: Le StringBufferInputStream a été obsolète par Oracle.

Déclaration de la classe StringBufferInputStream

La déclaration de la classe StringBufferInputStream est ci-dessous :

la classe publique StringBufferInputStream étend InputStream

Constructeurs dans StringBufferInputStream

Cette classe se compose d'un constructeur à l'aide duquel nous pouvons créer un objet de cette classe.

1. StringBufferInputStream(String str) : T son constructeur est utilisé pour créer un flux d'entrée de chaîne pour lire les données d'une chaîne spécifiée.

Syntaxe:

StringBufferInputStream(String chaîne)

Exemple:

Java
   // Demonstrating the working    // of StringBufferInputStream(String str)   import     java.io.*  ;   public     class   Geeks  {      public     static     void     main  (  String  []     args  )     {          // Creating a String to be used with StringBufferInputStream      String     str     =     'Hello World!'  ;      // Creating StringBufferInputStream from the String      StringBufferInputStream     is     =     new     StringBufferInputStream  (  str  );      // Reading bytes from the StringBufferInputStream      int     data  ;      try     {      while     ((  data     =     is  .  read  ())     !=     -  1  )     {      // Print each byte as a character      System  .  out  .  print  ((  char  )     data  );      }      is  .  close  ();      }     catch     (  IOException     e  )     {      e  .  printStackTrace  ();      }      }   }   

Sortir
Hello World! 


Méthodes Java StringBufferStream

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

Classe io.StringBufferInputStream 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 octet de données à partir du flux d'entrée

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, sinon renvoie -1 lorsque la fin du flux est atteinte.


2. read(byte[] buffer int offset int maxlen) : Cette méthode est utilisée pour lire un nombre spécifique de caractères dans un tampon.

Syntaxe:

public int read (byte[] buffer int offset int maxlen)

  • Paramètre: Cette méthode prend trois paramètres répertoriés ci-dessous :
    • tampon: C'est un tableau pour stocker des caractères
    • compenser: C'est la position de départ à partir de laquelle stocker le caractère
    • maxlen : C'est le nombre maximum de caractères à lire.
  • Type de retour : Cette méthode renvoie le nombre maximum de caractères à lire sinon renvoie -1 lorsque la fin du flux est atteinte.


3. réinitialiser() : Cette méthode est utilisée pour réinitialiser le flux et de ce fait, la lecture recommence depuis le début.

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.


4. sauter(long n): Cette méthode est utilisée pour ignorer et ignorer certains caractères dans le flux d'entrée.

Syntaxe:

saut long public (long n)

  • Paramètre: Cette méthode prend un seul paramètre n qui est le nombre d'octets à ignorer
  • Type de retour : Cette méthode renvoie le nombre réel d'octets ignorés.


5. disponible() : Cette méthode indique combien de caractères restent à lire dans le flux d'entrée

Syntaxe:

public int disponible()

  • Paramètre : Cette méthode ne prend aucun paramètre
  • Type de retour : cette méthode renvoie le nombre de caractères pouvant être lus à partir du flux d’entrée.


Programme Java illustrant le fonctionnement des méthodes de classe StringBufferInputStream

Maintenant, dans l'exemple ci-dessous, nous verrons le fonctionnement de toutes les méthodes.

Exemple:

Java
   // Demonstrating the working of    // read() read(byte[] buffer int offset int maxlen)   // reset() skip(long n) available()   import     java.io.*  ;   public     class   Geeks     {      public     static     void     main  (  String  []     args  )     throws     IOException     {          String     s1     =     'Hello Geeks'  ;      String     s2     =     'GeeksForGeeks'  ;      StringBufferInputStream     b1     =     new     StringBufferInputStream  (  s1  );      StringBufferInputStream     b2     =     new     StringBufferInputStream  (  s2  );      // available()      System  .  out  .  println  (  'Use of available() 1: '     +     b1  .  available  ());      int     a  ;      System  .  out  .  println  (  'Use of read() method:'  );      while     ((  a     =     b1  .  read  ())     !=     -  1  )     {      char     c     =     (  char  )     a  ;      System  .  out  .  println  (  c  );      // skip()      b1  .  skip  (  1  );      }      System  .  out  .  println  (  'Use of available() 2: '     +     b2  .  available  ());      byte  []     byteBuffer     =     new     byte  [  15  ]  ;      b2  .  read  (  byteBuffer       1       2  );      int     b  ;      System  .  out  .  print  (  'Remaining characters after partial read: '  );      while     ((  b     =     b2  .  read  ())     !=     -  1  )     {      System  .  out  .  print  ((  char  )     b  );      }      // reset()      b1  .  reset  ();      System  .  out  .  print  (  'nAfter reset(): '  );      int     i  ;      while     ((  i     =     b1  .  read  ())     !=     -  1  )     {      System  .  out  .  print  ((  char  )     i  );      }      }   }   

Sortir
Use of available() 1: 11 Use of read() method: H l o G e s Use of available() 2: 13 Remaining characters after partial read: eksForGeeks After reset(): Hello Geeks 
Créer un quiz