본문 바로가기
자바 풀스택 공부

Day 59. [Java] StringReader/Writer

by seung_nari 2022. 3. 30.

StringReader/Writer

 

StringReader/StringWriter는 CharArrayReader/CharArrayWriter와 같이 입출력 대상이 메모리인 스트림이다.

StringWriter에 출력되는 데이터는 내부의 StringBuffer에 저장되며 StringWriter의 다음과 같은 메서드를 이용해서 저장된 데이터를 얻을 수 있다.

 

StringBuffer getBuffer() : StringWriter에 출력한 데이터가 저장된 StringBuffer를 반환한다.

String toString() : StringWriter에 출력된 (StringBuffer에 저장된) 문자열을 반환한다.

 

근본적으로 String도 char배열이지만, 아무래도 char 배열보다는 String으로 처리하는 것이 여러모로 편리한 경우가 더 많다.

// char... 보단 String이지 ㅎ

 

package chap15;

import java.io.StringReader;
import java.io.StringWriter;

public class StringReaderWriterEx {
	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);
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
		
		System.out.println("Input Data : " + inputData);
		System.out.println("Output Data : " + output.toString());
		System.out.println("Output Data : " + output.getBuffer().toString());
	}
}

댓글