JavaTM Platform
Standard Ed. 6

java.io
클래스 ByteArrayOutputStream

java.lang.Object 
  상위를 확장 java.io.OutputStream 
      상위를 확장 java.io.ByteArrayOutputStream
모든 구현된 인터페이스:
Closeable , Flushable


public class ByteArrayOutputStream
extends OutputStream

데이터가 바이트 배열에 기입해지는 출력 스트림을 구현합니다. 데이터가 기입해지는에 따라, 버퍼는 자동적으로 커져 갑니다. toByteArray()toString() 를 사용해 데이타를 뽑기 시작할 수가 있습니다.  

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

도입된 버젼:
JDK1. 0

필드의 개요
protected  byte[] buf
          데이터가 포함되는 버퍼입니다.
protected  int count
          버퍼안의 유효 바이트수입니다.
 
생성자 의 개요
ByteArrayOutputStream ()
          바이트 배열 출력 스트림을 새롭게 작성합니다.
ByteArrayOutputStream (int size)
          바이트수로 지정된 사이즈의 버퍼를 가지는, 바이트 배열 출력 스트림을 새롭게 작성합니다.
 
메소드의 개요
 void close ()
          ByteArrayOutputStream 를 닫아도, 아무것도 변화는 없습니다.
 void reset ()
          바이트 배열 출력 스트림의 count 필드를 제로에 리셋 합니다.
 int size ()
          버퍼의 현재의 사이즈를 돌려줍니다.
 byte[] toByteArray ()
          메모리를 할당해 바이트 배열을 새롭게 작성합니다.
 String toString ()
          플랫폼의 디폴트의 캐릭터 세트를 사용해 바이트를 복호화 하면서, 버퍼의 내용을 캐릭터 라인으로 변환합니다.
 String toString (int hibyte)
          추천 되고 있지 않습니다.  이 메소드는 바이트를 캐릭터 라인에 적절히 변환할 수 없습니다. JDK 1. 1 현재, 추천 되는 방법은, 인코딩명을 인수에 취하는 toString(String enc) 메소드인가, 플랫폼의 디폴트의 캐릭터 세트를 사용하는 toString() 메소드를 사용하는 것입니다.
 String toString (String  charsetName)
          지정된 charsetName 를 사용해 바이트를 복호화 하면서, 버퍼의 내용을 캐릭터 라인으로 변환합니다.
 void write (byte[] b, int off, int len)
          지정된 바이트 배열의 오프셋(offset) 위치 off 로부터 시작되는 len 바이트를, 바이트 배열 출력 스트림에 기입합니다.
 void write (int b)
          지정된 바이트를, 바이트 배열 출력 스트림에 기입합니다.
 void writeTo (OutputStream  out)
          바이트 배열 출력 스트림의 모든 내용을, 지정된 출력 스트림 인수에 기입합니다.
 
클래스 java.io. OutputStream 로부터 상속된 메소드
flush , write
 
클래스 java.lang. Object 로부터 상속된 메소드
clone , equals , finalize , getClass , hashCode , notify , notifyAll , wait , wait , wait
 

필드의 상세

buf

protected byte[] buf
데이터가 포함되는 버퍼입니다.


count

protected int count
버퍼안의 유효 바이트수입니다.

생성자 의 상세

ByteArrayOutputStream

public ByteArrayOutputStream()
바이트 배열 출력 스트림을 새롭게 작성합니다. 버퍼 용량의 초기치는 32 바이트입니다만, 이 사이즈는 필요에 따라서 커집니다.


ByteArrayOutputStream

public ByteArrayOutputStream(int size)
바이트수로 지정된 사이즈의 버퍼를 가지는, 바이트 배열 출력 스트림을 새롭게 작성합니다.

파라미터:
size - 초기 사이즈
예외:
IllegalArgumentException - 사이즈가 0 보다 작은 값의 경우
메소드의 상세

write

public void write(int b)
지정된 바이트를, 바이트 배열 출력 스트림에 기입합니다.

정의:
클래스 OutputStream 내의 write
파라미터:
b - 기입하는 바이트

write

public void write(byte[] b,
                  int off,
                  int len)
지정된 바이트 배열의 오프셋(offset) 위치 off 로부터 시작되는 len 바이트를, 바이트 배열 출력 스트림에 기입합니다.

오버라이드(override):
클래스 OutputStream 내의 write
파라미터:
b - 데이터
off - 데이터의 개시 오프셋(offset)
len - 기입하는 바이트수

writeTo

public void writeTo(OutputStream  out)
             throws IOException 
바이트 배열 출력 스트림의 모든 내용을, 지정된 출력 스트림 인수에 기입합니다. 이것은 out.write(buf, 0, count) 를 사용해 출력 스트림의 write 메소드를 호출하는 것과 같습니다.

파라미터:
out - 데이터를 기입하는 출력 스트림
예외:
IOException - 입출력 에러가 발생했을 경우

reset

public void reset()
바이트 배열 출력 스트림의 count 필드를 제로에 리셋 합니다. 이 결과, 현재 출력 스트림에 축적 떠날 수 있어 모든 데이터는 파기됩니다. 이 출력 스트림은, 벌써 할당할 수 있고 있는 버퍼 스페이스를 사용해, 재차 사용할 수가 있습니다.

관련 항목:
ByteArrayInputStream.count

toByteArray

public byte[] toByteArray()
메모리를 할당해 바이트 배열을 새롭게 작성합니다. 배열의 사이즈는 현재의 출력 스트림과 같아, 버퍼안의 유효 데이터는 여기에 카피됩니다.

반환값:
출력 스트림의 현재의 내용을 바이트 배열로서 돌려주는
관련 항목:
size()

size

public int size()
버퍼의 현재의 사이즈를 돌려줍니다.

반환값:
count 필드의 값. 출력 스트림안의 유효 바이트수를 나타내는
관련 항목:
count

toString

public String  toString()
플랫폼의 디폴트의 캐릭터 세트를 사용해 바이트를 복호화 하면서, 버퍼의 내용을 캐릭터 라인으로 변환합니다. 새로운 String 의 길이는 캐릭터 세트에 의해 변화하기 위해(때문에), 버퍼의 사이즈와 일치하지 않는 것이 있습니다.

이 메소드는, 부정 입력 순서나 맵 불가 문자 순서를, 플랫폼의 디폴트의 캐릭터 세트용의, 디폴트의 치환 캐릭터 라인으로 옮겨놓습니다. 복호화 처리를 보다 강력하게 제어할 필요가 있는 경우,CharsetDecoder 클래스를 사용할 필요가 있습니다.

오버라이드(override):
클래스 Object 내의 toString
반환값:
버퍼의 내용으로부터 복호화 된 캐릭터 라인
도입된 버젼:
JDK1. 1

toString

public String  toString(String  charsetName)
                throws UnsupportedEncodingException 
지정된 charsetName 를 사용해 바이트를 복호화 하면서, 버퍼의 내용을 캐릭터 라인으로 변환합니다. 새로운 String 의 길이는 캐릭터 세트에 의해 변화하기 위해(때문에), 바이트 배열장과 일치하지 않는 것이 있습니다.

이 메소드는, 부정 입력 순서나 맵 불가 문자 순서를, 이 캐릭터 세트의 디폴트의 치환 캐릭터 라인으로 옮겨놓습니다. 복호화 처리를 보다 강력하게 제어할 필요가 있는 경우,CharsetDecoder 클래스를 사용할 필요가 있습니다.

파라미터:
charsetName - 지원하는 charset 의 이름
반환값:
버퍼의 내용으로부터 복호화 된 캐릭터 라인
예외:
UnsupportedEncodingException - 지정된 캐릭터 세트가 지원되어 있지 않은 경우
도입된 버젼:
JDK1. 1

toString

@Deprecated 
public String  toString(int hibyte)
추천 되고 있지 않습니다.  이 메소드는 바이트를 캐릭터 라인에 적절히 변환할 수 없습니다. JDK 1. 1 현재, 추천 되는 방법은, 인코딩명을 인수에 취하는 toString(String enc) 메소드인가, 플랫폼의 디폴트의 캐릭터 세트를 사용하는 toString() 메소드를 사용하는 것입니다.

새롭게 메모리를 할당해 캐릭터 라인을 작성합니다. 캐릭터 라인의 사이즈는 현재의 출력 스트림과 같게 되어 버퍼안의 유효 데이터는 여기에 카피됩니다. 작성되는 캐릭터 라인의 각 문자 데이터 c 는, 바이트 배열의 대응하는 요소 b 로부터, 다음과 같이 됩니다.
     c == (char)(((hibyte & 0xff) << 8) | (b & 0xff))
 

파라미터:
hibyte - 결과적으로 얻을 수 있는 각 Unicode 문자의 상위 바이트
반환값:
출력 스트림의 현재의 내용을 나타내는 캐릭터 라인
관련 항목:
size() , toString(String) , toString()

close

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

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

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 도 참조해 주세요.