Java StringBufferInputStream Class

Java StringBufferInputStream Class

ה מחלקה StringBufferInoutStream ב-Java מאפשר לנו ליצור זרם קלט ממחרוזת כך שנוכל לקרוא בתים ממנה. זה עובד רק עם 8 הסיביות התחתונות של כל תו זה לא יכול להתמודד עם כל טווח ערכי התווים. במקום להשתמש במחלקה זו, הגישה הטובה ביותר היא להשתמש ByteArrayInputStream שאין לו מגבלה זו הוא יכול לקרוא את כל טווח ערכי התווים.

פֶּתֶק: ה-StringBufferInputStream הוצא משימוש על ידי אורקל.

הצהרת StringBufferInputStream Class

ההצהרה של המחלקה StringBufferInputStream היא להלן:

class public StringBufferInputStream מרחיב את InputStream

קונסטרוקטורים ב-StringBufferInputStream

מחלקה זו מורכבת מבנאי אחד שבעזרתו נוכל ליצור אובייקט של מחלקה זו.

1. StringBufferInputStream(String str): T הבנאי שלו משמש ליצירת זרם קלט מחרוזת לקריאת נתונים ממחרוזת שצוינה.

תַחבִּיר:

StringBufferInputStream(String str)

דוּגמָה:

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 ב-Java


כעת נדון בפירוט על כל שיטה בזה אחר זה:

1. קרא(): שיטה זו משמשת לקריאת בתים של נתונים מזרם הקלט

תַחבִּיר:

public int read()

  • פָּרָמֶטֶר: שיטה זו אינה לוקחת שום פרמטר.
  • סוג החזרה: שיטה זו מחזירה את תו הקריאה כמספר שלם אחרת מחזירה -1 כאשר מגיעים לסוף הזרם.


2. read(byte[] buffer int offset int maxlen): שיטה זו משמשת לקריאת מספר מסוים של תווים ממאגר.

תַחבִּיר:

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

  • פָּרָמֶטֶר: שיטה זו לוקחת שלושה פרמטרים המפורטים להלן:
    • בַּלָם: זהו מערך לאחסון דמויות
    • לְקַזֵז: זוהי עמדת המוצא מאיפה לאחסן אופי
    • מקסלן: זהו המספר המרבי של תווים לקריאה.
  • סוג החזרה: שיטה זו מחזירה את המספר המרבי של תווים לקריאה אחרת מחזירה -1 כאשר מגיעים לסוף הזרם.


3. reset():

תַחבִּיר:

public void reset()

  • פָּרָמֶטֶר: שיטה זו אינה לוקחת שום פרמטר.
  • סוג החזרה: השיטה הזו לא מחזירה כלום.


4. דלג(ארוך n): שיטה זו משמשת כדי לדלג ולהתעלם מכמה תווים בזרם הקלט.

תַחבִּיר:

דילוג ארוך ציבורי(לונג n)

  • פָּרָמֶטֶר: שיטה זו לוקחת פרמטר בודד n שהוא מספר הבתים שיש לדלג עליו
  • סוג החזרה: שיטה זו מחזירה את המספר האמיתי של בתים שדילג עליהם.


5. זמין(): שיטה זו מציינת כמה תווים נותרו לקריאה בזרם הקלט

תַחבִּיר:

public int זמין()

  • פרמטר: שיטה זו אינה לוקחת שום פרמטר
  • סוג החזרה: שיטה זו מחזירה את מספר התווים שניתן לקרוא מזרם הקלט.


תוכנית Java הממחישה את פעולתן של שיטות כיתה 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 
צור חידון