JavaTM 2
Platform
Std.  Ed.  v1. 4.0

java.io
클래스 ByteArrayInputStream

java.lang.Object 
  |
  +--java.io.InputStream 
        |
        +--java.io.ByteArrayInputStream

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 ()
          ByteArrayInputStream 가 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() 메소드에 의해 이 정도치로 설정됩니다.

마크가 설정되어 있지 않은 경우, 마크의 값은 constructor로 건네진 오프셋(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+len 입니다. 버퍼 배열은 카피되지 않습니다. 버퍼의 마크는 지정한 오프셋(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 바이트의 데이터를 바이트 배열에 읽어들입니다. poscount 와 일치하는 경우는 파일의 마지막에 이른 것을 나타내는 -1 이 돌려주어집니다. 그렇지 않은 경우는 읽히는 바이트수 klencount-pos 가운데 어느 쪽인지 작은 (분)편에게 일치합니다. k 가 정의 값의 경우,buf[pos] ~ buf[pos+k-1] 의 범위내의 바이트가,System.arraycopy 에 의해 실행되는 방법으로 b[off] ~ b[off+k-1] 에 카피됩니다. 값 kpos 에 더해져k 가 돌려주어집니다.

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

오버라이드(override):
클래스 InputStream 내의 read
파라미터:
b - 데이터의 read처의 버퍼
off - 데이터의 개시 오프셋(offset)
len - 읽히는 최대 바이트수
반환값:
버퍼에 읽힌 바이트의 합계수. 스트림의 마지막에 이르러 데이터가 없는 경우는 -1
관련 항목:
InputStream.read()

skip

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

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

available

public int available()
블록 하지 않고 입력 스트림으로부터 읽어들일 수가 있는 바이트수를 돌려줍니다. 돌려주어진 값은 count - pos 로, 입력 버퍼로부터 읽어들이는 나머지의 바이트수를 나타냅니다.

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

markSupported

public boolean markSupported()
ByteArrayInputStream 가 mark/reset 를 서포트하고 있을지 어떨지를 판정합니다.

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

mark

public void mark(int readAheadLimit)
스트림에 현재의 마크 위치를 설정합니다. ByteArrayInputStream 오브젝트는 구축시에 디폴트로 위치 제로에 마크 됩니다. 이러한 오브젝트는 이 메소드에 의해 버퍼내외의 위치에 마크를 설정할 수 있습니다.

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

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

reset

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

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

close

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

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

JavaTM 2
Platform
Std.  Ed.  v1. 4.0

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

Java, Java 2 D, 및 JDBC 는 미국 및 그 외의 나라에 있어서의 미국 Sun Microsystems, Inc. 의 상표 혹은 등록상표입니다.
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.