Java StringBufferInputStream Sınıfı
Java'da StringBufferInoutStream sınıfı baytları okuyabilmemiz için bir dizeden bir giriş akışı oluşturmamıza olanak tanır. Yalnızca her karakterin alt 8 bitiyle çalışır. Karakter değerlerinin tamamını işleyemez. Bu sınıfı kullanmak yerine en iyi yaklaşım kullanmaktır. ByteArrayInputStream bu sınırlamaya sahip olmayan karakter değerlerinin tamamını okuyabilir.
Not: StringBufferInputStream, Oracle tarafından kullanımdan kaldırıldı.
StringBufferInputStream Sınıfının Bildirisi
StringBufferInputStream sınıfının beyanı aşağıdadır:
genel sınıf StringBufferInputStream, inputStream'i genişletir
StringBufferInputStream'deki yapıcılar
Bu sınıf, yardımıyla bu sınıfın bir nesnesini yaratabileceğimiz bir kurucudan oluşur.
1. StringBufferInputStream(String str): T yapıcısı, belirtilen bir dizeden veri okumak için bir dize giriş akışı oluşturmak için kullanılır.
Sözdizimi:
StringBufferInputStream(Dize dizisi)
Örnek:
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 (); } } }
Çıkış
Hello World!
Java StringBufferStream Yöntemleri
Aşağıdaki resimde PipedWriter sınıfının yöntemleri gösterilmektedir.
Şimdi her yöntemi tek tek ayrıntılı olarak tartışacağız:
1. oku(): Bu yöntem giriş akışından bir bayt veri okumak için kullanılır
Sözdizimi:
genel int okuma()
- Parametre: Bu yöntem herhangi bir parametre almaz.
- İade Türü: Bu yöntem okuma karakterini bir tamsayı olarak döndürür, aksi takdirde akışın sonuna ulaşıldığında -1 değerini döndürür.
2. read(byte[] buffer int offset int maxlen): Bu yöntem, arabellekten belirli sayıda karakteri okumak için kullanılır.
Sözdizimi:
public int read(byte[] buffer int offset int maxlen)
- Parametre: Bu yöntem aşağıda listelenen üç parametreyi alır:
- tampon: Karakterleri saklamak için kullanılan bir dizidir
- telafi etmek: Karakterin depolanacağı başlangıç konumudur
- maksimum: Okunacak maksimum karakter sayısıdır.
- İade Türü: Bu yöntem okunacak maksimum karakter sayısını döndürür, aksi takdirde akışın sonuna ulaşıldığında -1 değerini döndürür.
3. sıfırlama(): Bu yöntem akışı sıfırlamak için kullanılır ve bu nedenle okuma baştan başlar.
Sözdizimi:
genel geçersiz sıfırlama ()
- Parametre: Bu yöntem herhangi bir parametre almaz.
- İade Türü: Bu yöntem hiçbir şey döndürmez.
4. atla(uzun n): Bu yöntem, giriş akışındaki bazı karakterleri atlamak ve yok saymak için kullanılır.
Sözdizimi:
halka açık uzun atlama (uzun n)
- Parametre: Bu yöntem, atlanacak bayt sayısı olan tek bir n parametresini alır.
- İade Türü: Bu yöntem atlanan baytların gerçek sayısını döndürür.
5. mevcut(): Bu yöntem, giriş akışında okunacak kaç karakter kaldığını söyler
Sözdizimi:
herkese açık int mevcut()
- Parametre: Bu yöntem herhangi bir parametre almaz.
- Dönüş Türü: Bu yöntem, giriş akışından okunabilecek karakter sayısını döndürür.
StringBufferInputStream Sınıfı Yöntemlerinin Çalışmasını Gösteren Java Programı
Şimdi aşağıdaki örnekte tüm yöntemlerin çalışmasını göreceğiz.
Örnek:
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 ); } } }
Çıkış
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 GeeksTest Oluştur