Java StringReader 마스터하기: 문자열에서 문자 읽기
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("Data read from the string:");
System.out.println(array);
input.close();
} catch(Exception e) {
e.getStackTrace();
}
}
}
실행 결과
Data read from the string: 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("Original data: " + data);
// 문자 배열 생성
char[] array = new char[100];
try {
// StringReader 생성
StringReader input = new StringReader(data);
// skip() 메서드 사용
input.skip(5);
// read 메서드 사용
input.read(array);
System.out.println("Data after skipping 5 characters:");
System.out.println(array);
input.close();
} catch(Exception e) {
e.getStackTrace();
}
}
}
실행 결과
Original data: This is the text read from the StringReader
Data after skipping 5 characters: is the text read from the StringReader
위 예제에서 skip() 메서드를 사용하여 문자열 리더에서 5문자를 건너뛰었습니다. 따라서 원본 문자열 리더에서 'T', 'h', 'i', 's', ' '가 건너뛰어졌습니다.
close() 메서드
문자열 리더를 닫으려면 close() 메서드를 사용할 수 있습니다. close() 메서드가 호출되면 리더를 사용하여 문자열에서 데이터를 읽을 수 없습니다.
StringReader의 기타 메서드
| 메서드 | 설명 |
ready() | 문자열 리더가 읽을 준비가 되었는지 확인합니다. |
mark() | 데이터가 읽힌 리더의 위치를 표시합니다. |
reset() | 표시가 설정된 리더의 지점으로 제어를 반환합니다. |
더 자세한 내용은 공식 Java 문서의 Java StringReader를 참조하세요.