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.
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 GeeksCréer un quiz