티스토리 뷰
개념
Pipe는 사전적으로 연결 이라는 의미가 있습니다. 이름에서 알 수 있듯이 파이프와 파이프 사이에 연결을해서 사용하는것이 PipeIOStream의 특징입니다.
connect 메소드를 이용하면 서로다른 stream class 로 데이터 전달을 할 수 있습니다.
표준스트림은 노드스트림 이라고도 하며, 데이터와 직접 맞닿는 스트림을 노드스트림 이라고합니다.
Pipe는 노드스트림과 직접 연결해서 사용 할 수 있습니다.
예제
import java.io.*;
public class Main3 {
public static void main(String[] args) {
PipedInputStream pin = new PipedInputStream();
PipedOutputStream po = new PipedOutputStream();
PipedInputOutputExample t1 = new PipedInputOutputExample(System.in, po);
PipedInputOutputExample t2 = new PipedInputOutputExample(pin, System.out);
try{
pin.connect(po);
}catch(Exception e){
}
t1.start();
t2.start();
}
static class PipedInputOutputExample extends Thread{
InputStream input;
OutputStream output;
PipedInputOutputExample(InputStream is, OutputStream pos) {
this.input = is;
this.output = pos;
}
public void run(){
byte[] buf = new byte[1024];
int n = 0;
try {
while(true){
if((n = input.read(buf)) > -1){
output.write(buf, 0, n);
} else {
return;
}
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
결과
'프로그래밍 언어 > Java Programming' 카테고리의 다른 글
JAVA 직렬화 (Serializable) (0) | 2016.11.16 |
---|---|
Java FilterStream feat. BufferedStream (0) | 2016.10.22 |
JAVA ByteArrayInputStream 클래스 (0) | 2016.10.22 |
JAVA Socket(소켓) (0) | 2016.10.22 |
URLConnection 으로 웹서버에 데이터 보내보기 (0) | 2016.10.22 |
댓글