Јава СтрингБуфферИнпутСтреам Цласс

Јава СтрингБуфферИнпутСтреам Цласс

Тхе СтрингБуфферИноутСтреам класа у Јави омогућава нам да креирамо улазни ток из стринга тако да можемо да читамо бајтове из њега. Ради само са нижих 8 битова сваког знака. Не може да обради цео опсег вредности знакова. Уместо коришћења ове класе, најбољи приступ је коришћење БитеАрраиИнпутСтреам који нема ово ограничење може да чита цео опсег вредности знакова.

Напомена: Орацле је застарео СтрингБуфферИнпутСтреам.

Декларација класе СтрингБуфферИнпутСтреам

Декларација класе СтрингБуфферИнпутСтреам је испод:

јавна класа СтрингБуфферИнпутСтреам проширује ИнпутСтреам

Конструктори у СтрингБуфферИнпутСтреам

Ова класа се састоји од једног конструктора уз помоћ којег можемо креирати објекат ове класе.

1. СтрингБуфферИнпутСтреам(Стринг стр): Т његов конструктор се користи за креирање стринг улазног тока за читање података из наведеног стринга.

Синтакса:

СтрингБуфферИнпутСтреам(Стринг стр)

Пример:

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! 


Јава СтрингБуфферСтреам методе

Слика испод показује методе класе ПипедВритер.

ио.СтрингБуфферИнпутСтреам класа у Јави


Сада ћемо детаљно разговарати о свакој методи један по један:

1. реад(): Овај метод се користи за читање бајта података из улазног тока

Синтакса:

публиц инт реад()

  • Параметар: Овај метод не узима ниједан параметар.
  • Тип повратка: Овај метод враћа прочитани знак као цео број, иначе враћа -1 када се достигне крај тока.


2. реад(бите[] буффер инт оффсет инт маклен): Овај метод се користи за читање одређеног броја знакова из бафера.

Синтакса:

публиц инт реад(бите[] бафер инт оффсет инт маклен)

  • Параметар: Овај метод узима три параметра која су наведена у наставку:
    • тампон: То је низ за чување знакова
    • офсет: То је почетна позиција одакле се чува карактер
    • маклен: То је максималан број знакова за читање.
  • Тип повратка: Овај метод враћа максималан број знакова за читање, иначе враћа -1 када се достигне крај стрима.


3. ресет (): Овај метод се користи за ресетовање тока и због тога читање почиње из почетка.

Синтакса:

јавно ресетовање празнине ()

  • Параметар: Овај метод не узима ниједан параметар.
  • Тип повратка: Овај метод не враћа ништа.


4. прескочи (дуго н): Овај метод се користи за прескакање и игнорисање неких знакова у улазном току.

Синтакса:

јавно дуго прескочи (дуго н)

  • Параметар: Овај метод узима један параметар н који представља број бајтова које треба прескочити
  • Тип повратка: Овај метод враћа стварни број прескочених бајтова.


5. доступно(): Овај метод говори колико је знакова остало за читање у улазном току

Синтакса:

јавни инт доступан()

  • Параметар: Овај метод не узима ниједан параметар
  • Тип враћања: Овај метод враћа број знакова који се могу прочитати из улазног тока.


Јава програм који илуструје рад метода класе СтрингБуфферИнпутСтреам

Сада ћемо у следећем примеру видети рад свих метода.

Пример:

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 
Креирај квиз