JavaTM 2
Platform
Std.  Ed.  v1. 4.0

java.io
인터페이스 DataOutput

기존의 서브 인터페이스의 일람:
ImageOutputStream , ObjectOutput
기존의 구현 클래스의 일람:
DataOutputStream , ImageOutputStreamImpl , ObjectOutputStream , RandomAccessFile

public interface DataOutput

Java 의 원시적형이 있으면 그 데이터를 일련의 바이트로 변환해 바이너리 스트림에 기입하기 위해서(때문에) 제공되고 있습니다. 또,String 를 Java 의 수정 UTF-8 형식으로 변환해 결과의 일련의 바이트를 기입하는 기능도 있습니다.

이 인터페이스의 바이트를 기입하는 모든 메소드에서는 하등의 이유로써 바이트를 기입할 수 없는 경우는 통상,IOException 가 슬로우 됩니다.

도입된 버젼:
JDK1. 0
관련 항목:
DataInput , DataOutputStream

메소드의 개요
 void write (byte[] b)
          출력 스트림에 배열 b 의 모든 바이트를 기입합니다.
 void write (byte[] b, int off, int len)
          배열 b 로부터 len 바이트를 차례로 출력 스트림에 기입합니다.
 void write (int b)
          인수 b 의 하위 8 비트를 출력 스트림에 기입합니다.
 void writeBoolean (boolean v)
          1 개의 boolean 치를 출력 스트림에 기입합니다.
 void writeByte (int v)
          인수 v 의 하위 8 비트를 출력 스트림에 기입합니다.
 void writeBytes (String  s)
          캐릭터 라인을 출력 스트림에 기입합니다.
 void writeChar (int v)
          2 바이트로부터 구성되는 char 치를 출력 스트림에 기입합니다.
 void writeChars (String  s)
          캐릭터 라인 s 내의 각 캐릭터를, 1 캐릭터 마다 2 바이트씩 차례로 기입합니다.
 void writeDouble (double v)
          8 바이트로부터 구성되는 double 치를 출력 스트림에 기입합니다.
 void writeFloat (float v)
          4 바이트로부터 구성되는 float 치를 출력 스트림에 기입합니다.
 void writeInt (int v)
          4 바이트로부터 구성되는 int 치를 출력 스트림에 기입합니다.
 void writeLong (long v)
          8 바이트로부터 구성되는 long 치를 출력 스트림에 기입합니다.
 void writeShort (int v)
          인수의 값을 나타내는 2 바이트를 출력 스트림에 기입합니다.
 void writeUTF (String  str)
          길이 정보의 2 바이트를 출력 스트림에 기입합니다.
 

메소드의 상세

write

public void write(int b)
           throws IOException 
인수 b 의 하위 8 비트를 출력 스트림에 기입합니다. b 의 상위 24 비트에 대해서는 무시됩니다.

파라미터:
b - 기입하는 바이트
예외:
IOException - 입출력 에러가 발생했을 경우

write

public void write(byte[] b)
           throws IOException 
출력 스트림에 배열 b 의 모든 바이트를 기입합니다. bnull 의 경우,NullPointerException 가 슬로우 됩니다. b.length 가 제로의 경우, 기입해지는 바이트는 없습니다. 그렇지 않은 경우는 우선 바이트 b[0], 다음에 b[1] 으로 차례차례 기입해져 마지막에 바이트 b[b.length-1] 가 기입해집니다.

파라미터:
b - 데이터
예외:
IOException - 입출력 에러가 발생했을 경우

write

public void write(byte[] b,
                  int off,
                  int len)
           throws IOException 
배열 b 로부터 len 바이트를 차례로 출력 스트림에 기입합니다. bnull 의 경우는 NullPointerException 가 슬로우 됩니다. off 가 부의 값의 경우,len 가 부의 값의 경우, 혹은 off+len 가 배열 b 의 길이보다 큰 경우에는 IndexOutOfBoundsException 가 슬로우 됩니다. len 가 제로의 경우, 기입해지는 바이트는 없습니다. 그렇지 않은 경우는 우선 바이트 b[off], 다음에 b[off+1] 와 차례차례 기입해져 마지막에 바이트 b[off+len-1] 가 기입해집니다.

파라미터:
b - 데이터
off - 데이터의 개시 오프셋(offset)
len - 기입하는 바이트수
예외:
IOException - 입출력 에러가 발생했을 경우

writeBoolean

public void writeBoolean(boolean v)
                  throws IOException 
1 개의 boolean 치를 출력 스트림에 기입합니다. 인수 vtrue 의 경우는 값 (byte) 1 이 기입해집니다. vfalse 의 경우는 값 (byte) 0 이 기입해집니다. 이 메소드가 기입하는 바이트는 DataInput 인터페이스의 readBoolean 메소드에 의해 읽힙니다. 다음에,readBoolean 메소드에 의해,v 에 동일한 boolean 가 돌려주어집니다.

파라미터:
v - 기입해지는 boolean
예외:
IOException - 입출력 에러가 발생했을 경우

writeByte

public void writeByte(int v)
               throws IOException 
인수 v 의 하위 8 비트를 출력 스트림에 기입합니다. v 의 상위 24 비트는 무시됩니다. 즉,writeByte 의 동작은 정수형 인수의 경우는 write 와 완전히 같습니다. 이 메소드가 기입하는 바이트는 DataInput 인터페이스의 readByte 메소드에 의해 읽힙니다. 다음에,readByte 메소드에 의해,v 에 동일한 byte 가 돌려주어집니다.

파라미터:
v - 기입해지는 바이트치
예외:
IOException - 입출력 에러가 발생했을 경우

writeShort

public void writeShort(int v)
                throws IOException 
인수의 값을 나타내는 2 바이트를 출력 스트림에 기입합니다. 다음에 나타내는 바이트치가, 이 차례로 기입해집니다.


 (byte)(0xff & (v >> 8))
 (byte)(0xff & v)
  

이 메소드가 기입하는 바이트는 DataInput 인터페이스의 readShort 메소드에 의해 읽힙니다. 다음에,readShort 메소드에 의해,(short) v 에 동일한 short 가 돌려주어집니다.

파라미터:
v - 기입해지는 short
예외:
IOException - 입출력 에러가 발생했을 경우

writeChar

public void writeChar(int v)
               throws IOException 
2 바이트로부터 구성되는 char 치를 출력 스트림에 기입합니다. 다음에 나타내는 바이트치가, 이 차례로 기입해집니다.


 (byte)(0xff & (v >> 8))
 (byte)(0xff & v)
 

이 메소드가 기입하는 바이트는 DataInput 인터페이스의 readChar 메소드에 의해 읽힙니다. 다음에,readChar 메소드에 의해,(char) v 에 동일한 char 가 돌려주어집니다.

파라미터:
v - 기입해지는 char
예외:
IOException - 입출력 에러가 발생했을 경우

writeInt

public void writeInt(int v)
              throws IOException 
4 바이트로부터 구성되는 int 치를 출력 스트림에 기입합니다. 다음에 나타내는 바이트치가, 이 차례로 기입해집니다.


 (byte)(0xff & (v >> 24))
 (byte)(0xff & (v >> 16))
 (byte)(0xff & (v >>    8))
 (byte)(0xff & v)
 

이 메소드가 기입하는 바이트는 DataInput 인터페이스의 readInt 메소드에 의해 읽힙니다. readInt 메소드는 다음에,v 에 동일한 int 를 돌려줍니다.

파라미터:
v - 기입해지는 int
예외:
IOException - 입출력 에러가 발생했을 경우

writeLong

public void writeLong(long v)
               throws IOException 
8 바이트로부터 구성되는 long 치를 출력 스트림에 기입합니다. 다음에 나타내는 바이트치가, 이 차례로 기입해집니다.


 (byte)(0xff & (v >> 56))
 (byte)(0xff & (v >> 48))
 (byte)(0xff & (v >> 40))
 (byte)(0xff & (v >> 32))
 (byte)(0xff & (v >> 24))
 (byte)(0xff & (v >> 16))
 (byte)(0xff & (v >>  8))
 (byte)(0xff & v)
 

이 메소드가 기입하는 바이트는 DataInput 인터페이스의 readLong 메소드에 의해 읽힙니다. 다음에,readLong 메소드에 의해,v 에 동일한 long 가 돌려주어집니다.

파라미터:
v - 기입해지는 long
예외:
IOException - 입출력 에러가 발생했을 경우

writeFloat

public void writeFloat(float v)
                throws IOException 
4 바이트로부터 구성되는 float 치를 출력 스트림에 기입합니다. 이 때문에는 우선 Float.floatToIntBits 메소드와 완전히 같은 방법으로 이 float 치를 int 로 변환하고 나서,writeInt 메소드와 완전히 같은 방법으로 int 치를 기입합니다. 이 메소드가 기입하는 바이트는 DataInput 인터페이스의 readFloat 메소드에 의해 읽힙니다. 다음에,readFloat 메소드에 의해,v 에 동일한 float 가 돌려주어집니다.

파라미터:
v - 기입해지는 float
예외:
IOException - 입출력 에러가 발생했을 경우

writeDouble

public void writeDouble(double v)
                 throws IOException 
8 바이트로부터 구성되는 double 치를 출력 스트림에 기입합니다. 이 때문에는 우선 Double.doubleToLongBits 메소드와 완전히 같은 방법으로 이 double 치를 long 로 변환하고 나서,writeLong 메소드와 완전히 같은 방법으로 long 치를 기입합니다. 이 메소드가 기입하는 바이트는 DataInput 인터페이스의 readDouble 메소드에 의해 읽힙니다. 다음에,readDouble 메소드에 의해,v 에 동일한 double 가 돌려주어집니다.

파라미터:
v - 기입해지는 double
예외:
IOException - 입출력 에러가 발생했을 경우

writeBytes

public void writeBytes(String  s)
                throws IOException 
캐릭터 라인을 출력 스트림에 기입합니다. 캐릭터 라인 s 의 각 캐릭터가 차례로 취득되어 1 바이트가 출력 스트림에 기입해집니다. snull 의 경우는 NullPointerException 가 슬로우 됩니다.

s.length 가 제로의 경우, 기입해지는 바이트는 없습니다. 그렇지 않은 경우는 우선 캐릭터 s[0], 다음에 s[1] 으로 차례차례 기입해져 마지막에 캐릭터 s[s.length-1] 가 기입해집니다. 각 캐릭터에 대해서는 writeByte 메소드와 완전히 같은 방법으로, 1 바이트, 즉 하위 바이트가 기입해집니다. 캐릭터 라인내의 각 캐릭터의 상위 8 비트는 무시됩니다.

파라미터:
s - 기입해지는 바이트의 캐릭터 라인
예외:
IOException - 입출력 에러가 발생했을 경우

writeChars

public void writeChars(String  s)
                throws IOException 
캐릭터 라인 s 내의 각 캐릭터를, 1 캐릭터 마다 2 바이트씩 차례로 기입합니다. snull 의 경우,NullPointerException 가 슬로우 됩니다. s.length 가 제로의 경우, 기입해지는 캐릭터는 없습니다. 그렇지 않은 경우는 우선 캐릭터 s[0], 다음에 s[1] 으로 차례차례 기입해져 마지막에 캐릭터 s[s.length-1] 가 기입해집니다. 각 캐릭터에 대해서는 writeChar 메소드와 완전히 같은 방법으로, 상위 바이트를 먼저 해 2 바이트가 실제로 기입해집니다.

파라미터:
s - 기입해지는 캐릭터 라인의 값
예외:
IOException - 입출력 에러가 발생했을 경우

writeUTF

public void writeUTF(String  str)
              throws IOException 
길이 정보의 2 바이트를 출력 스트림에 기입합니다. 그 뒤에는 캐릭터 라인 s 내의 각 캐릭터의 Java 의 수정 UTF 표현이 계속됩니다. snull 의 경우,NullPointerException 가 슬로우 됩니다. 캐릭터 라인 s 내의 각 캐릭터는 캐릭터의 값에 근거해, 1, 2, 또는 3 바이트의 그룹에 변환됩니다.

캐릭터 c\u0001 ~ \u007f 의 범위에 있는 경우, 다음과 같은 1 바이트로 표현됩니다.

(byte) c 

캐릭터 c\u0000 의 경우나,\u0080 ~ \u07ff 의 범위에 있는 경우에는 다음의 순서로 기입해지는 2 바이트에 의해 나타내집니다.


 (byte)(0xc0 | (0x1f & (c >> 6)))
 (byte)(0x80 | (0x3f & c))
  

캐릭터 c\u0800 ~ uffff 의 범위에 있는 경우, 다음의 순서로 기입해지는 3 바이트에 의해 나타내집니다.


 (byte)(0xe0 | (0x0f & (c >> 12)))
 (byte)(0x80 | (0x3f & (c >>  6)))
 (byte)(0x80 | (0x3f & c))
  

우선,s 의 모든 캐릭터를 나타내는데 필요한 총바이트수가 계산됩니다. 이 수치가 65535 를 넘는 경우는 UTFDataFormatError 가 슬로우 됩니다. 그렇지 않은 경우는 이 길이가 writeShort 메소드와 완전히 같은 방법으로 출력 스트림에 기입해집니다. 다음에, 캐릭터 라인 s 내의 각 캐릭터의 1, 2, 또는 3 바이트 표현이 기입해집니다.

이 메소드가 기입하는 바이트는 DataInput 인터페이스의 readUTF 메소드에 의해 읽힙니다. 다음에,readUTF 메소드에 의해,s 에 동일한 String 가 돌려주어집니다.

파라미터:
str - 기입해지는 캐릭터 라인의 값
예외:
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.