PipedInputStream (Java Platform SE 6) - xrath.com 에서 번역됨

개요 | 패키지 | 클래스 | 사용 | 계층 트리 | 비추천 API | 색인 | 헬프

JavaTM Platform
Standard Ed. 6

앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음
개요: 상자 | 필드 | 생성자 | 메소드 | 상세 : 필드 | 생성자 | 메소드

## java.io
클래스 PipedInputStream

    java.lang.Object
      java.io.InputStream
          java.io.PipedInputStream

모든 구현된 인터페이스:
  Closeable

    public class PipedInputStream

extends InputStream

파이프로 연결된 입력 스트림은, 파이프로 연결된 출력 스트림에 접속하도록(듯이) 합니다. 이것에 의해, 파이프로 연결된 입력 스트림이 제공하는 데이터 바이트는, 파이프로 연결된 출력 스트림에 모두 기입해집니다. 일반적으로, 데이터는 1 개의 thread에 의해 `PipedInputStream` 객체로부터 읽혀 대응하는 `PipedOutputStream` 에 다른 thread에 의해 기입해집니다. 단일의 thread로부터 양쪽 모두의 객체를 사용하는 것은, thread가 데드락 할 가능성이 있기 (위해)때문에 추천 되고 있지 않습니다. 파이프로 연결된 입력 스트림에는 일정 범위의 버퍼가 포함되기 (위해)때문에, read 조작과 기입해 조작은 분리됩니다. 파이프로 연결된 출력 스트림에 데이터 바이트를 제공하고 있던 thread가 무효가 되었을 경우는, 파이프가 「망가져 있다」라고 말합니다.

도입된 버젼:
  JDK1. 0
관련 항목:
  `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`

필드의 상세

### PIPE_SIZE

    protected static final int PIPE_SIZE

  파이프의 순환 입력 버퍼의 디폴트 사이즈입니다.

  도입된 버젼:
    JDK1. 1
  관련 항목:
    정수 필드치

### buffer

    protected byte[] buffer

  들어 오는 데이터를 두는 순환 버퍼입니다.

  도입된 버젼:
    JDK1. 1

### in

    protected int in

  데이터의 다음의 바이트를 파이프로 연결된 접속 끝난 출력 스트림로부터 받았을 때에, 그 다음의 바이트를 포함하는 순환 버퍼의 인덱스 위치입니다. `in<0` 는 버퍼가 빈 상태(empty)인 것을 나타내,`in==out` 는 버퍼가 가득해 있는 것을 나타냅니다.

  도입된 버젼:
    JDK1. 1

### out

    protected int out

  파이프로 연결된 이 입력 스트림이 데이터의 다음의 바이트를 읽어들이는, 순환 버퍼의 인덱스 위치입니다.

  도입된 버젼:
    JDK1. 1

생성자 의 상세

### PipedInputStream

    public PipedInputStream(PipedOutputStream  src)
                     throws IOException

  `PipedInputStream` 를 작성해, 파이프로 연결된 출력 스트림 `src` 에 접속합니다. `src` 에 기입해진 데이터 바이트는, 이 스트림로부터의 입력으로서 사용할 수 있게 됩니다.

  파라미터:
    `src` - 접속처의 스트림
  예외:
    `IOException` - 입출력 에러가 발생했을 경우

### PipedInputStream

    public PipedInputStream(PipedOutputStream  src,
                            int pipeSize)
                     throws IOException

  `PipedInputStream` 를 작성해, 파이프로 연결된 출력 스트림 `src` 에 접속합니다. 그 때, 지정된 파이프 사이즈를 파이프의 버퍼에 사용합니다. `src` 에 기입해진 데이터 바이트는, 이 스트림로부터의 입력으로서 사용할 수 있게 됩니다.

  파라미터:
    `src` - 접속처의 스트림
    `pipeSize` - 파이프의 버퍼의 사이즈
  예외:
    `IOException` - 입출력 에러가 발생했을 경우
    `IllegalArgumentException` - `pipeSize <= 0` 의 경우
  도입된 버젼:
    1.6

### PipedInputStream

    public PipedInputStream()

  아직 connected 가 아닌 상태로 `PipedInputStream` 를 작성합니다. 사용전에,`PipedOutputStream` 에 대해서 connected 상태로 할 필요가 있습니다.

### PipedInputStream

    public PipedInputStream(int pipeSize)

  아직 connected 가 아닌 상태로 `PipedInputStream` 를 작성합니다. 그 때, 지정된 파이프 사이즈를 파이프의 버퍼에 사용합니다. 사용전에,`PipedOutputStream` 에 대해서 connected 상태로 할 필요가 있습니다.

  파라미터:
    `pipeSize` - 파이프의 버퍼의 사이즈
  예외:
    `IllegalArgumentException` - `pipeSize <= 0` 의 경우
  도입된 버젼:
    1.6

메소드의 상세

### connect

    public void connect(PipedOutputStream  src)
                 throws IOException

  파이프로 연결된 입력 스트림을 파이프로 연결된 출력 스트림 `src` 에 접속합니다. 이 객체가 다른 파이프로 연결된 출력 스트림에 접속되고 있는 경우는,`IOException` 가 throw 됩니다.

  `src` 가 파이프에 의한 미접속의 출력 스트림로,`snk` 가 파이프에 의한 미접속의 입력 스트림인 경우, 2 개의 스트림은 이하의 호출의 어딘가에 따라 접속됩니다.

      snk.connect(src)

  또는

      src.connect(snk)

  2 개의 호출은 같은 효과를 가집니다.

  파라미터:
    `src` - 파이프에 의한 접속처의 출력 스트림
  예외:
    `IOException` - 입출력 에러가 발생했을 경우

### receive

    protected void receive(int b)
                    throws IOException

  데이터의 바이트를 받습니다. 이 메소드는, 유효한 입력이 없는 경우는 블록 합니다.

  파라미터:
    `b` - 받는 바이트
  예외:
    `IOException` - 파이프가고장나 있는`` 경우,`unconnected` 상태인 경우, 닫혀지고 있는 경우, 또는 입출력 에러가 발생했을 경우
  도입된 버젼:
    JDK1. 1

### read

    public int read()
             throws IOException

  파이프로 연결된 입력 스트림로부터 데이터의 다음의 바이트를 읽어들입니다. 값의 바이트는,`0` ~ `255` 의 범위의 `int` 로서 돌려주어집니다. 입력 데이터를 읽어들일 수 있게 되는지, 파일의 마지막이 검출되는지, 또는 예외가 발생할 때까지, 이 메소드는 블록 합니다.

  정의:
    클래스 `InputStream` 내의 `read`
  반환값:
    데이터의 다음의 바이트. 스트림의 마지막에 이르렀을 경우는 `-1`
  예외:
    `IOException` - 파이프가 `unconnected` 상태인 경우,망가져 있는`` 경우, 닫혀지고 있는 경우, 또는 입출력 에러가 발생했을 경우

### read

    public int read(byte[] b,
                    int off,
                    int len)
             throws IOException

  최대 `len` 바이트까지의 데이터를, 이 파이프로 연결된 입력 스트림로부터 바이트 배열에 읽어들입니다. 데이터 스트림의 마지막에 이르렀을 경우, 또는 `len` 바이트가 파이프의 버퍼 사이즈를 넘고 있는 경우,`len` 바이트보다 적은 데이터가 읽힙니다. `len` 가 0 의 경우, 읽히는 바이트는 없고, 0 이 돌려주어집니다. 그렇지 않은 경우, 적어도 1 바이트의 입력을 이용할 수 있게 되는지, 스트림의 마지막에 이르는지, 예외가 throw 될 때까지 메소드는 블록 합니다.

  오버라이드(override):
    클래스 `InputStream` 내의 `read`
  파라미터:
    `b` - 데이터의 read처의 버퍼
    `off` - 전송처의 배열 `b` 내에서의 개시 오프셋(offset)
    `len` - 읽히는 최대 바이트수
  반환값:
    버퍼에 읽힌 바이트의 합계수. 스트림의 마지막에 이르렀기 때문에 그 이상 데이터가 없는 경우는 `-1`
  예외:
    `NullPointerException` - `b` 가 `null` 의 경우
    `IndexOutOfBoundsException` - `off` 가 부의 경우,`len` 가 부의 경우, 또는 `len` 가 `b.length - off` 보다 큰 경우
    `IOException` - 파이프가고장나 있는`` 경우,`unconnected` 상태인 경우, 닫혀지고 있는 경우, 또는 입출력 에러가 발생했을 경우
  관련 항목:
    `InputStream.read()`

### available

    public int available()
                  throws IOException

  블록 하지 않고 입력 스트림로부터 읽어들일 수가 있는 바이트수를 돌려줍니다.

  오버라이드(override):
    클래스 `InputStream` 내의 `available`
  반환값:
    블록 하지 않고 이 입력 스트림로부터 읽어들일 수가 있는 바이트수. 이 입력 스트림이 `close()` 메소드의 호출에 의해 닫혀졌을 경우, 파이프가 `unconnected` 상태인 경우, 또는망가져 있는`` 경우는 `0`
  예외:
    `IOException` - 입출력 에러가 발생했을 경우
  도입된 버젼:
    JDK1. 0.2

### close

    public void close()
               throws IOException

  파이프에 의한 입력 스트림을 닫아 그 스트림에 관련하는 모든 system resource를 해제합니다.

  정의:
    인터페이스 `Closeable` 내의 `close`
  오버라이드(override):
    클래스 `InputStream` 내의 `close`
  예외:
    `IOException` - 입출력 에러가 발생했을 경우

개요 | 패키지 | 클래스 | 사용 | 계층 트리 | 비추천 API | 색인 | 헬프

JavaTM Platform
Standard Ed. 6

앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음
개요: 상자 | 필드 | 생성자 | 메소드 | 상세 : 필드 | 생성자 | 메소드

버그의 보고와 기능의 요청
한층 더 자세한 API 레퍼런스 및 개발자 문서에 대해서는,Java SE 개발자용 문서를 참조해 주세요. 개발자전용의 상세한 해설, 개념의 개요, 용어의 정의, 버그의 회피책, 및 코드 실례가 포함되어 있습니다.

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.