فئة جافا StringBufferInputStream
ال فئة StringBufferInoutStream في جافا يسمح لنا بإنشاء دفق إدخال من سلسلة حتى نتمكن من قراءة البايتات منه. إنه يعمل فقط مع البتات الثمانية السفلية لكل حرف، ولا يمكنه التعامل مع النطاق الكامل لقيم الأحرف. بدلاً من استخدام هذه الفئة، فإن أفضل طريقة هي الاستخدام ByteArrayInputStream والتي ليس لديها هذا القيد يمكنها قراءة النطاق الكامل لقيم الأحرف.
ملحوظة: لقد تم إهمال StringBufferInputStream بواسطة Oracle.
إعلان فئة StringBufferInputStream
إعلان فئة StringBufferInputStream أدناه:
تعمل الفئة العامة StringBufferInputStream على توسيع InputStream
المنشئون في StringBufferInputStream
تتكون هذه الفئة من مُنشئ واحد يمكننا من خلاله إنشاء كائن من هذه الفئة.
1. StringBufferInputStream (سلسلة سلسلة): T يتم استخدام منشئه لإنشاء دفق إدخال سلسلة لقراءة البيانات من سلسلة محددة.
بناء الجملة:
StringBufferInputStream(سلسلة سلسلة)
مثال:
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 (); } } }
الإخراج
Hello World!
طرق Java StringBufferStream
توضح الصورة أدناه أساليب فئة PipedWriter.
وسنتحدث الآن عن كل طريقة على حدة بالتفصيل:
1.قراءة (): تُستخدم هذه الطريقة لقراءة بايت من البيانات من دفق الإدخال
بناء الجملة:
القراءة العامة ()
- المعلمة: هذه الطريقة لا تأخذ أي معلمة.
- نوع الإرجاع: تقوم هذه الطريقة بإرجاع حرف القراءة كعدد صحيح وإلا فإنها تُرجع -1 عند الوصول إلى نهاية الدفق.
2. قراءة (بايت [] المخزن المؤقت int تعويض int maxlen): يتم استخدام هذه الطريقة لقراءة عدد محدد من الأحرف من المخزن المؤقت.
بناء الجملة:
قراءة int العامة (بايت [] المخزن المؤقت int تعويض int maxlen)
- المعلمة: تأخذ هذه الطريقة ثلاث معلمات مدرجة أدناه:
- المخزن المؤقت: إنها مصفوفة لتخزين الأحرف
- إزاحة: إنه موضع البداية من مكان تخزين الشخصية
- ماكسلين: هذا هو الحد الأقصى لعدد الأحرف للقراءة.
- نوع الإرجاع: تقوم هذه الطريقة بإرجاع الحد الأقصى لعدد الأحرف المراد قراءتها، وإلا فإنها تُرجع -1 عند الوصول إلى نهاية الدفق.
3. إعادة الضبط (): تُستخدم هذه الطريقة لإعادة ضبط الدفق ولهذا السبب تبدأ القراءة من البداية.
بناء الجملة:
إعادة تعيين الفراغ العام ()
- المعلمة: هذه الطريقة لا تأخذ أي معلمة.
- نوع الإرجاع: هذه الطريقة لا ترجع أي شيء.
4. تخطي (طويل ن): تُستخدم هذه الطريقة لتخطي وتجاهل بعض الأحرف في دفق الإدخال.
بناء الجملة:
تخطي طويل عام (طويل ن)
- المعلمة: تأخذ هذه الطريقة معلمة واحدة n وهي عدد البايتات التي يجب تخطيها
- نوع الإرجاع: تقوم هذه الطريقة بإرجاع العدد الفعلي للبايتات التي تم تخطيها.
5. متاح (): توضح هذه الطريقة عدد الأحرف المتبقية للقراءة في دفق الإدخال
بناء الجملة:
كثافة العمليات العامة المتاحة ()
- المعلمة: هذه الطريقة لا تأخذ أي معلمة
- نوع الإرجاع: تقوم هذه الطريقة بإرجاع عدد الأحرف التي يمكن قراءتها من دفق الإدخال.
برنامج جافا يوضح عمل أساليب فئة StringBufferInputStream
الآن في المثال أدناه سنرى عمل جميع الطرق.
مثال:
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 ); } } }
الإخراج
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إنشاء اختبار