Java StringBufferInputStream 클래스
그만큼 Java의 StringBufferInoutStream 클래스 문자열에서 입력 스트림을 생성하여 문자열에서 바이트를 읽을 수 있도록 합니다. 각 문자의 하위 8비트에서만 작동합니다. 문자 값의 전체 범위를 처리할 수는 없습니다. 이 클래스를 사용하는 대신 가장 좋은 방법은 다음을 사용하는 것입니다. 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. 읽기(): 이 메소드는 입력 스트림에서 데이터 바이트를 읽는 데 사용됩니다.
통사론:
공개 int 읽기()
- 매개변수: 이 메서드는 매개변수를 사용하지 않습니다.
- 반환 유형: 이 메서드는 읽은 문자를 정수로 반환하고, 그렇지 않으면 스트림 끝에 도달하면 -1을 반환합니다.
2. 읽기(바이트[] 버퍼 int 오프셋 int maxlen): 이 방법은 버퍼에서 특정 수의 문자를 읽는 데 사용됩니다.
통사론:
공개 int 읽기(바이트[] 버퍼 int 오프셋 int maxlen)
- 매개변수: 이 방법은 아래에 나열된 세 가지 매개변수를 사용합니다.
- 완충기: 문자를 저장하는 배열입니다.
- 오프셋: 캐릭터를 저장할 시작 위치입니다.
- 최대 길이: 읽을 수 있는 최대 문자 수입니다.
- 반환 유형: 이 메서드는 읽을 최대 문자 수를 반환하고, 그렇지 않으면 스트림 끝에 도달하면 -1을 반환합니다.
3. 재설정(): 이 방법은 스트림을 재설정하는 데 사용되며 이로 인해 읽기가 처음부터 시작됩니다.
통사론:
공개 무효 재설정()
- 매개변수: 이 메서드는 매개변수를 사용하지 않습니다.
- 반환 유형: 이 메서드는 아무것도 반환하지 않습니다.
4. 건너뛰기(긴 n): 이 방법은 입력 스트림에서 일부 문자를 건너뛰고 무시하는 데 사용됩니다.
통사론:
공개 긴 건너뛰기(long n)
- 매개변수: 이 메소드는 건너뛸 바이트 수인 단일 매개변수 n을 사용합니다.
- 반환 유형: 이 메서드는 건너뛴 실제 바이트 수를 반환합니다.
5. 사용 가능(): 이 방법은 입력 스트림에서 읽을 문자 수를 알려줍니다.
통사론:
공개 정수 사용 가능()
- 매개변수: 이 메서드는 매개변수를 사용하지 않습니다.
- 반환 유형: 이 메서드는 입력 스트림에서 읽을 수 있는 문자 수를 반환합니다.
StringBufferInputStream 클래스 메소드의 작동을 보여주는 Java 프로그램
이제 아래 예에서 모든 메소드의 작동을 살펴보겠습니다.
예:
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퀴즈 만들기