|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세 : 필드 | 생성자 | 메소드 |
java.lang.Objectjava.io.InputStream
java.io.PipedInputStream
public class PipedInputStream
파이프로 연결된 입력 스트림은, 파이프로 연결된 출력 스트림에 접속하도록(듯이) 합니다. 이것에 의해, 파이프로 연결된 입력 스트림이 제공하는 데이터 바이트는, 파이프로 연결된 출력 스트림에 모두 기입해집니다. 일반적으로, 데이터는 1 개의 thread에 의해 PipedInputStream
객체로부터 읽혀 대응하는 PipedOutputStream
에 다른 thread에 의해 기입해집니다. 단일의 thread로부터 양쪽 모두의 객체를 사용하는 것은, thread가 데드락 할 가능성이 있기 (위해)때문에 추천 되고 있지 않습니다. 파이프로 연결된 입력 스트림에는 일정 범위의 버퍼가 포함되기 (위해)때문에, read 조작과 기입해 조작은 분리됩니다. 파이프로 연결된 출력 스트림에 데이터 바이트를 제공하고 있던 thread가 무효가 되었을 경우는, 파이프가 「망가져 있다」라고 말합니다.
PipedOutputStream
필드의 개요 | |
---|---|
protected byte[] |
buffer
들어 오는 데이터를 두는 순환 버퍼입니다. |
protected int |
in
데이터의 다음의 바이트를 파이프로 연결된 접속 끝난 출력 스트림로부터 받았을 때에, 그 다음의 바이트를 포함하는 순환 버퍼의 인덱스 위치입니다. |
protected int |
out
파이프로 연결된 이 입력 스트림이 데이터의 다음의 바이트를 읽어들이는, 순환 버퍼의 인덱스 위치입니다. |
protected static int |
PIPE_SIZE
파이프의 순환 입력 버퍼의 디폴트 사이즈입니다. |
생성자 의 개요 | |
---|---|
PipedInputStream ()
아직 connected 가 아닌 상태로 PipedInputStream 를 작성합니다. |
|
PipedInputStream (int pipeSize)
아직 connected 가 아닌 상태로 PipedInputStream 를 작성합니다. |
|
PipedInputStream (PipedOutputStream src)
PipedInputStream 를 작성해, 파이프로 연결된 출력 스트림 src 에 접속합니다. |
|
PipedInputStream (PipedOutputStream src,
int pipeSize)
PipedInputStream 를 작성해, 파이프로 연결된 출력 스트림 src 에 접속합니다. |
메소드의 개요 | |
---|---|
int |
available ()
블록 하지 않고 입력 스트림로부터 읽어들일 수가 있는 바이트수를 돌려줍니다. |
void |
close ()
파이프에 의한 입력 스트림을 닫아 그 스트림에 관련하는 모든 system resource를 해제합니다. |
void |
connect (PipedOutputStream src)
파이프로 연결된 입력 스트림을 파이프로 연결된 출력 스트림 src 에 접속합니다. |
int |
read ()
파이프로 연결된 입력 스트림로부터 데이터의 다음의 바이트를 읽어들입니다. |
int |
read (byte[] b,
int off,
int len)
최대 len 바이트까지의 데이터를, 이 파이프로 연결된 입력 스트림로부터 바이트 배열에 읽어들입니다. |
protected void |
receive (int b)
데이터의 바이트를 받습니다. |
클래스 java.io. InputStream 로부터 상속된 메소드 |
---|
mark , markSupported , read , reset , skip |
클래스 java.lang. Object 로부터 상속된 메소드 |
---|
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait |
필드의 상세 |
---|
protected static final int PIPE_SIZE
protected byte[] buffer
protected int in
in<0
는 버퍼가 빈 상태(empty)인 것을 나타내,in==out
는 버퍼가 가득해 있는 것을 나타냅니다.
protected int out
생성자 의 상세 |
---|
public PipedInputStream(PipedOutputStream src) throws IOException
PipedInputStream
를 작성해, 파이프로 연결된 출력 스트림 src
에 접속합니다. src
에 기입해진 데이터 바이트는, 이 스트림로부터의 입력으로서 사용할 수 있게 됩니다.
src
- 접속처의 스트림
IOException
- 입출력 에러가 발생했을 경우public PipedInputStream(PipedOutputStream src, int pipeSize) throws IOException
PipedInputStream
를 작성해, 파이프로 연결된 출력 스트림 src
에 접속합니다. 그 때, 지정된 파이프 사이즈를 파이프의 버퍼에 사용합니다. src
에 기입해진 데이터 바이트는, 이 스트림로부터의 입력으로서 사용할 수 있게 됩니다.
src
- 접속처의 스트림pipeSize
- 파이프의 버퍼의 사이즈
IOException
- 입출력 에러가 발생했을 경우
IllegalArgumentException
- pipeSize <= 0
의 경우public PipedInputStream()
PipedInputStream
를 작성합니다. 사용전에,PipedOutputStream
에 대해서 connected 상태로 할 필요가 있습니다.
public PipedInputStream(int pipeSize)
PipedInputStream
를 작성합니다. 그 때, 지정된 파이프 사이즈를 파이프의 버퍼에 사용합니다. 사용전에,PipedOutputStream
에 대해서 connected 상태로 할 필요가 있습니다.
pipeSize
- 파이프의 버퍼의 사이즈
IllegalArgumentException
- pipeSize <= 0
의 경우메소드의 상세 |
---|
public void connect(PipedOutputStream src) throws IOException
src
에 접속합니다. 이 객체가 다른 파이프로 연결된 출력 스트림에 접속되고 있는 경우는,IOException
가 throw 됩니다.
src
가 파이프에 의한 미접속의 출력 스트림로,snk
가 파이프에 의한 미접속의 입력 스트림인 경우, 2 개의 스트림은 이하의 호출의 어딘가에 따라 접속됩니다.
snk.connect(src)
또는
src.connect(snk)
2 개의 호출은 같은 효과를 가집니다.
src
- 파이프에 의한 접속처의 출력 스트림
IOException
- 입출력 에러가 발생했을 경우protected void receive(int b) throws IOException
b
- 받는 바이트
IOException
- 파이프가고장나 있는
경우,unconnected
상태인 경우, 닫혀지고 있는 경우, 또는 입출력 에러가 발생했을 경우public int read() throws IOException
0
~ 255
의 범위의 int
로서 돌려주어집니다. 입력 데이터를 읽어들일 수 있게 되는지, 파일의 마지막이 검출되는지, 또는 예외가 발생할 때까지, 이 메소드는 블록 합니다.
InputStream
내의 read
-1
IOException
- 파이프가 unconnected
상태인 경우,망가져 있는
경우, 닫혀지고 있는 경우, 또는 입출력 에러가 발생했을 경우public int read(byte[] b, int off, int len) throws IOException
len
바이트까지의 데이터를, 이 파이프로 연결된 입력 스트림로부터 바이트 배열에 읽어들입니다. 데이터 스트림의 마지막에 이르렀을 경우, 또는 len
바이트가 파이프의 버퍼 사이즈를 넘고 있는 경우,len
바이트보다 적은 데이터가 읽힙니다. len
가 0 의 경우, 읽히는 바이트는 없고, 0 이 돌려주어집니다. 그렇지 않은 경우, 적어도 1 바이트의 입력을 이용할 수 있게 되는지, 스트림의 마지막에 이르는지, 예외가 throw 될 때까지 메소드는 블록 합니다.
InputStream
내의 read
b
- 데이터의 read처의 버퍼off
- 전송처의 배열 b
내에서의 개시 오프셋(offset)len
- 읽히는 최대 바이트수
-1
NullPointerException
- b
가 null
의 경우
IndexOutOfBoundsException
- off
가 부의 경우,len
가 부의 경우, 또는 len
가 b.length - off
보다 큰 경우
IOException
- 파이프가고장나 있는
경우,unconnected
상태인 경우, 닫혀지고 있는 경우, 또는 입출력 에러가 발생했을 경우InputStream.read()
public int available() throws IOException
InputStream
내의 available
close()
메소드의 호출에 의해 닫혀졌을 경우, 파이프가 unconnected
상태인 경우, 또는망가져 있는
경우는 0
IOException
- 입출력 에러가 발생했을 경우public void close() throws IOException
Closeable
내의 close
InputStream
내의 close
IOException
- 입출력 에러가 발생했을 경우
|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세 : 필드 | 생성자 | 메소드 |
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.