فئة جافا StringBufferInputStream

فئة جافا 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.

فئة io.StringBufferInputStream في جافا


وسنتحدث الآن عن كل طريقة على حدة بالتفصيل:

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 
إنشاء اختبار