StringReader/StringWriter는 CharArrayReader/CharArrayWriter와 같이 입출력 대상이 메모리인 스트림이다.
StringBuffer getBuffer()
-> StringWriter에 출력한 데이터가 저장된 StringBuffer를 반환한다.
String toString()
-> StringWriter에 출력된 (StringBuffer에 저장된) 문자열을 반환한다.
import java.io.*;
public class Ex15_19 {
public static void main(String[] args) {
String inputData = "ABCD";
StringReader input = new StringReader(inputData);
StringWriter output = new StringWriter();
int data = 0;
try {
while((data = input.read()) != -1) {
output.write(data); // void write(int b)
}
}catch(IOException e) {}
System.out.println("Input Data : " + inputData);
System.out.println("Output Data : " + output.toString());
System.out.println("Output Data : " + output.getBuffer().toString());
}
}
Input Data : ABCD
Output Data : ABCD
Output Data : ABCD
StringWriter에 출력되는 데이터는 내부의 StringBuffer에 저장되며 StringWriter의 메서드를 이용해서 저장된 데이터를 얻을 수 있다.