English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Java 기본 튜토리얼

Java 흐름 제어

Java 배열

Java 지향 객체(I)

Java 지향 객체(II)

Java 지향 객체(III)

Java 예외 처리

Java 목록(List)

Java Queue(큐)

Java Map 집합

Java Set 집합

Java 입력 출력(I/O)

Java Reader/Writer

Java 다른 주제

Java StringReader 클래스

이 튜토리얼에서 우리는 예제를 통해 Java StringReader 및 그 메서드를 배울 것입니다.

java.io 패키지의 StringReader 클래스는 문자열에서 데이터를 읽는 데 사용될 수 있습니다(문자 단위로).

그것은 추상 클래스 Reader를 상속받았습니다.

주의StringReader에서, 지정된 문자열이 소스로서 그 중에서 문자를 별도로 읽습니다.

StringReader를 생성합니다

StringReader를 생성하려면 먼저 java.io.StringReader 패키지를 가져와야 합니다. 패키지를 가져온 후에는 문자열 읽기기를 생성할 수 있습니다.

//StringReader를 생성합니다
StringReader input = new StringReader(String data);

여기서 우리는 이름이 data인 문자열에서 문자를 읽는 StringReader를 생성합니다.

StringReader의 메서드

StringReader 클래스는 Reader 클래스의 다양한 메서드에 대한 구현을 제공합니다.

read() 메서드

  • read()} - 문자열 독자에서 단일 문자를 읽습니다

  • read(char[] array)  - 읽기 독자에서 문자를 읽어 지정된 배열에 저장합니다

  • read(char[] array, int start, int length) - 읽기 독자에서 length 문자의 수를 읽어 start 위치에서 시작하여 지정된 배열에 저장합니다

예제: Java StringReader

import java.io.StringReader;
public class Main {
  public static void main(String[] args) {
    String data = "This is the text read from StringReader.";
    //문자 배열을 생성합니다
    char[] array = new char[100];
    try {
      //StringReader를 생성합니다
      StringReader input = new StringReader(data);
      //read 메서드를 사용하여
      input.read(array);
      System.out.println("문자열에서 데이터를 읽는 것:");
      System.out.println(array);
      input.close();
    }
    catch(Exception e) {
      e.getStackTrace();
    }
  }
}

출력 결과

문자열에서 데이터를 읽는 것:
This is the text read from StringReader.

위 예제에서는 input이라는 이름의 문자열 읽기 독자를 생성했습니다. 문자열 읽기 독자는 문자열 데이터(data)에 연결되어 있습니다.

String data = "This is a text in the string.";
StringReader input = new StringReader(data);

문자열에서 데이터를 읽기 위해 read() 메서드를 사용했습니다.

이곳에서는 이 메서드가 읽기 독자에서 문자 배열을 읽어 그것을 지정된 배열에 저장합니다.

skip() 메서드

지정된 수의 문자를 버리고 건너뛰기 위해 skip() 메서드를 사용할 수 있습니다. 예를 들어

import java.io.StringReader;
public class Main {
  public static void main(String[] args) {
    String data = "This is the text read from StringReader";
    System.out.println("원본 데이터: " + data);
    //문자 배열을 생성합니다
    char[] array = new char[100];
    try {
      //StringReader를 생성합니다
      StringReader input = new StringReader(data);
      //skip() 메서드를 사용하여
      input.skip(5);
      //read 메서드를 사용하여
      input.read(array);
      System.out.println("건너5한 문자 후의 데이터: ");
      System.out.println(array);
      input.close();
    }
    catch(Exception e) {
      e.getStackTrace();
    }
  }
}

출력 결과

원본 데이터: This is the text read from the StringReader
건너뜀5개 문자 후의 데이터:
StringReader에서 읽은 텍스트는

위의 예제에서는 skip() 메서드를 사용하여 문자열 리더에서 건너뜁니다5개 문자. 따라서 'T', 'h', 'i', 's'과 ' ' 문자는 원본 문자열 리더에서 건너뜁니다.

close() 메서드

문자 리더를 닫기 위해 close() 메서드를 사용할 수 있습니다. close() 메서드를 호출한 후에는 리더에서 문자열을 읽을 수 없게 됩니다.

StringReader의 다른 메서드

메서드설명
ready()문자 리더가 읽히기 위해 준비되어 있는지 확인합니다
mark()마크 리더에서 읽은 데이터 위치
reset()리셋 표시자를 초기화하고, 리더에서 설정한 표시자 위치로 돌아갑니다