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

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

JavaTM Platform
Standard Ed. 6

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

## java.io
클래스 ByteArrayInputStream

    java.lang.Object
      java.io.InputStream
          java.io.ByteArrayInputStream

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

    public class ByteArrayInputStream

extends InputStream

`ByteArrayInputStream` 는, 스트림로부터 읽힌 바이트를 포함하는 내부 버퍼를 보관 유지하고 있습니다. 내부 카운터에 의해,`read` 메소드로 다음에 읽히는 바이트를 추적합니다.

`ByteArrayInputStream` 를 닫아도, 아무것도 변화는 없습니다. 스트림을 닫은 뒤에 이 클래스의 메소드를 호출해도,`IOException` 는 생성되지 않습니다.

도입된 버젼:
  JDK1. 0
관련 항목:
  `StringBufferInputStream`

필드의 개요
`protected byte[]` | `buf` 스트림의 작성 측에야는 제공된 바이트의 배열입니다.
`protected int` | `count` 입력 스트림중의 마지막 유효 문자 위치보다 1 개 큰 값을 가지는 인덱스입니다.
`protected int` | `mark` 스트림 중(안)에서, 현재 마크가 설정되어 있는 위치를 나타냅니다.
`protected int` | `pos` 입력 스트림 버퍼로부터 다음에 읽어들이는 문자 위치를 나타내는 인덱스입니다.

생성자 의 개요
`ByteArrayInputStream (byte[] buf)` `buf` 를 버퍼 배열로서 사용하도록(듯이),`ByteArrayInputStream` 를 작성합니다.
`ByteArrayInputStream (byte[] buf, int offset, int length)` `buf` 를 버퍼 배열로서 사용하도록(듯이),`ByteArrayInputStream` 를 작성합니다.

메소드의 개요
`int` | `available ()` 이 입력 스트림로부터, 읽어들일 수가 있는 (또는 스킵 할 수 있다) 나머지의 바이트수를 돌려줍니다.
`void` | `close ()` `ByteArrayInputStream` 를 닫아도, 아무것도 변화는 없습니다.
`void` | `mark (int readAheadLimit)` 스트림에 현재의 마크 위치를 설정합니다.
`boolean` | `markSupported ()` 이 `InputStream` 가 mark/reset 를 지원하고 있을지 어떨지를 판정합니다.
`int` | `read ()` 이 입력 스트림의 데이터의 다음의 바이트를 읽어들입니다.
`int` | `read (byte[] b, int off, int len)` 입력 스트림로부터 최대 `len` 바이트의 데이터를 바이트 배열에 읽어들입니다.
`void` | `reset ()` 마크 위치에 버퍼를 리셋 합니다.
`long` | `skip (long n)` 입력 스트림로부터의 입력을 `n` 바이트분 스킵 합니다.

클래스 java.io. InputStream 로부터 상속된 메소드
`read`

클래스 java.lang. Object 로부터 상속된 메소드
`clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait`

필드의 상세

### buf

    protected byte[] buf

  스트림의 작성 측에야는 제공된 바이트의 배열입니다. 스트림로부터 읽어들일 수 있는 바이트는,`buf[0]` ~ `buf[count-1]` 의 범위내의 요소 뿐입니다. 다음에 읽히는 바이트는 요소 `buf[pos]` 입니다.

### pos

    protected int pos

  입력 스트림 버퍼로부터 다음에 읽어들이는 문자 위치를 나타내는 인덱스입니다. 이 값은 항상, 부 이외가 아니면 안되어,`count` 의 값보다 커도 안됩니다. 입력 스트림 버퍼로부터 읽히는 다음의 바이트는,`buf[pos]` 가 됩니다.

### mark

    protected int mark

  스트림 중(안)에서, 현재 마크가 설정되어 있는 위치를 나타냅니다. ByteArrayInputStream 객체는, 구축시에 디폴트로 위치 제로에 마크가 설정됩니다. 이러한 객체는,`mark()` 메소드에 의해 버퍼내외의 위치에 마크를 설정할 수 있습니다. 버퍼의 현재 위치는,`reset()` 메소드에 의해 이 정도치로 설정됩니다.

  마크가 설정되어 있지 않은 경우, 마크의 값은 생성자 에게 건네진 오프셋(offset)가 됩니다 (오프셋(offset)가 건네받지 않는 경우는 0).

  도입된 버젼:
    JDK1. 1

### count

    protected int count

  입력 스트림중의 마지막 유효 문자 위치보다 1 개 큰 값을 가지는 인덱스입니다. 이 값은 항상, 부 이외가 아니면 안되어,`buf` 의 길이보다 커도 안됩니다. 이것은, 입력 스트림 버퍼로부터 읽히는 `buf` 내의 마지막 바이트 위치에서(보다) 1 개 큰 값입니다.

생성자 의 상세

### ByteArrayInputStream

    public ByteArrayInputStream(byte[] buf)

  `buf` 를 버퍼 배열로서 사용하도록(듯이),`ByteArrayInputStream` 를 작성합니다. 버퍼 배열은 카피되지 않습니다. `pos` 의 초기치는 `0` 으로,`count` 의 초기치는 `buf` 의 길이입니다.

  파라미터:
    `buf` - 입력 버퍼

### ByteArrayInputStream

    public ByteArrayInputStream(byte[] buf,
                                int offset,
                                int length)

  `buf` 를 버퍼 배열로서 사용하도록(듯이),`ByteArrayInputStream` 를 작성합니다. `pos` 의 초기치는 `offset` 로,`count` 의 초기치는 `offset+length` 와 `buf.length` 의 최소치입니다. 버퍼 배열은 카피되지 않습니다. 버퍼의 마크는 지정한 오프셋(offset)로 설정됩니다.

  파라미터:
    `buf` - 입력 버퍼
    `offset` - 버퍼로부터의 바이트 read 개시 오프셋(offset)
    `length` - 버퍼로부터 읽어들이는 최대 바이트수

메소드의 상세

### read

    public int read()

  이 입력 스트림의 데이터의 다음의 바이트를 읽어들입니다. 바이트치는 `0` ~ `255` 의 범위의 `int` 로서 돌려주어집니다. 스트림의 마지막에 이르렀기 때문에 사용할 수 있는 바이트가 없는 경우는, 값 `-1` 이 돌려주어집니다.

  이 `read` 메소드는 블록 할 수 없습니다.

  정의:
    클래스 `InputStream` 내의 `read`
  반환값:
    데이터의 다음의 바이트. 스트림의 마지막에 이르렀을 경우는 `-1`

### read

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

  입력 스트림로부터 최대 `len` 바이트의 데이터를 바이트 배열에 읽어들입니다. `pos` 가 `count` 와 일치하는 경우는, 파일의 마지막에 이른 것을 나타내는 `-1` 이 돌려주어집니다. 그렇지 않은 경우는, 읽히는 바이트수 `k` 는 `len` 와 `count-pos` 가운데 어느 쪽인지 작은 (분)편에게 일치합니다. `k` 가 정의 값의 경우,`buf[pos]` ~ `buf[pos+k-1]` 의 범위내의 바이트가,`System.arraycopy` 에 의해 실행되는 방법으로 `b[off]` ~ `b[off+k-1]` 에 카피됩니다. 값 `k` 가 `pos` 에 더해져`k` 가 돌려주어집니다.

  이 `read` 메소드는 블록 할 수 없습니다.

  오버라이드(override):
    클래스 `InputStream` 내의 `read`
  파라미터:
    `b` - 데이터의 read처의 버퍼
    `off` - 전송처의 배열 `b` 내에서의 개시 오프셋(offset)
    `len` - 읽히는 최대 바이트수
  반환값:
    버퍼에 읽힌 바이트의 합계수. 스트림의 마지막에 이르러 데이터가 없는 경우는 `-1`
  예외:
    `NullPointerException` - `b` 가 `null` 의 경우
    `IndexOutOfBoundsException` - `off` 가 부,`len` 가 부, 또는 `len` 가 `b.length - off` 보다 큰 경우
  관련 항목:
    `InputStream.read()`

### skip

    public long skip(long n)

  입력 스트림로부터의 입력을 `n` 바이트분 스킵 합니다. 스트림의 마지막에 이르렀을 경우는, 지정보다 적은 수만큼 스킵 되는 일이 있습니다. 실제로 스킵 되는 바이트수 `k` 는,`n` 와 `count-pos` 가운데 어느 쪽인지 작은 (분)편에게 일치합니다. 값 `k` 가 `pos` 에 더해져`k` 가 돌려주어집니다.

  오버라이드(override):
    클래스 `InputStream` 내의 `skip`
  파라미터:
    `n` - 스킵 하는 바이트수
  반환값:
    스킵 된 실제의 바이트수

### available

    public int available()

  이 입력 스트림로부터, 읽어들일 수가 있는 (또는 스킵 할 수 있다) 나머지의 바이트수를 돌려줍니다.

  반환값은,`count - pos` 로, 입력 버퍼로부터 읽어들이는 나머지의 버퍼수입니다.

  오버라이드(override):
    클래스 `InputStream` 내의 `available`
  반환값:
    블록 하지 않고 이 입력 스트림로부터 읽어들일 수가 있는 (또는 스킵 할 수 있다) 나머지의 바이트수

### markSupported

    public boolean markSupported()

  이 `InputStream` 가 mark/reset 를 지원하고 있을지 어떨지를 판정합니다. `ByteArrayInputStream` 의 `markSupported` 메소드는 항상 `true` 를 돌려줍니다.

  오버라이드(override):
    클래스 `InputStream` 내의 `markSupported`
  반환값:
    이 스트림 인스턴스가 mark 및 reset 메소드를 지원하고 있는 경우는 `true`, 지원하고 있지 않는 경우는 `false`
  도입된 버젼:
    JDK1. 1
  관련 항목:
    `InputStream.mark(int)` , `InputStream.reset()`

### mark

    public void mark(int readAheadLimit)

  스트림에 현재의 마크 위치를 설정합니다. ByteArrayInputStream 객체는, 구축시에 디폴트로 위치 제로에 마크 됩니다. 이러한 객체는, 이 메소드에 의해 버퍼내외의 위치에 마크를 설정할 수 있습니다.

  마크가 설정되어 있지 않은 경우, 마크의 값은 생성자 에게 건네진 오프셋(offset)가 됩니다 (오프셋(offset)가 건네받지 않는 경우는 0).

  주:이 클래스의 `readAheadLimit` 에 의미는 없습니다.

  오버라이드(override):
    클래스 `InputStream` 내의 `mark`
  파라미터:
    `readAheadLimit` - 마크 위치가 무효가 되기 전에 읽어들여 가능한 최대한도의 바이트수
  도입된 버젼:
    JDK1. 1
  관련 항목:
    `InputStream.reset()`

### reset

    public void reset()

  마크 위치에 버퍼를 리셋 합니다. 다른 위치에 마크가 설정되어 있는 경우 또는 생성자 에 오프셋(offset)가 지정되고 있는 경우를 제외해, 마크 위치는 0 으로 설정됩니다.

  오버라이드(override):
    클래스 `InputStream` 내의 `reset`
  관련 항목:
    `InputStream.mark(int)` , `IOException`

### close

    public void close()
               throws IOException

  `ByteArrayInputStream` 를 닫아도, 아무것도 변화는 없습니다. 스트림을 닫은 뒤에 이 클래스의 메소드를 호출해도,`IOException` 는 생성되지 않습니다.

  정의:
    인터페이스 `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 도 참조해 주세요.