상세 컨텐츠

본문 제목

PipedReader, PipedWriter, StringReader, StringWriter

자바강좌

by somiyuralove 2019. 7. 2. 22:21

본문

PipedReader/PipedWriter는 쓰레드 간에 데이터를 주고받을 때 사용합니다.

다른 스트림과는 달리 입력과 출력스트림을 하나의 스트림으로 연결해서 데이터를 주고받는다는 특징이 있습니다.

스트림을 생성한 다음에 어느 한쪽 쓰레드에서 connect()를 호출해서 입력스트림과 출력스트림을 연결합니다.

입출력을 마친 후에는 어느 한쪽 스트림만 닫아도 나머지 스트림은 자동으로 닫힙니다.

이 점을 제외하고는 일반 입출력방법과 다르지 않습니다.

아래는 예제입니다.

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

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

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

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

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

 

 

'자바강좌' 카테고리의 다른 글

표준입출력  (0) 2019.07.20
BufferedReader,BufferedWriter,InputStreamReader,OutputStreamWriter  (0) 2019.07.03
문자기반 스트림 ( Reader, Writer, FileReader, FileWriter )  (0) 2019.07.01
PrintStream  (0) 2019.07.01
SequenceInputStream  (0) 2019.07.01

관련글 더보기

댓글 영역