JavaTM Platform
Standard Ed. 6

java.io
클래스 DataInputStream

java.lang.Object 
  상위를 확장 java.io.InputStream 
      상위를 확장 java.io.FilterInputStream 
          상위를 확장 java.io.DataInputStream
모든 구현된 인터페이스:
Closeable , DataInput


public class DataInputStream
extends FilterInputStream
implements DataInput

데이터 입력 스트림에 의해, 어플리케이션은, 원시형의 Java 데이터를 기초의 입력 스트림로부터 머신에 의존하지 않고 읽어들일 수가 있습니다. 어플리케이션은 데이터 출력 스트림을 사용해 데이터를 기입하는 것으로, 그 데이터를 나중에 입력 스트림로부터 읽어들일 수도 있습니다.  

DataInputStream 는, multi-thread 액세스에 대해서 반드시 안전하지는 않습니다. thread의 안전성은 이 클래스의 메소드를 사용하는 사용자에 의해 옵션으로 보증됩니다.

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

필드의 개요
 
클래스 java.io. FilterInputStream 로부터 상속된 필드
in
 
생성자 의 개요
DataInputStream (InputStream  in)
          지정된 기본이 되는 InputStream 를 사용하는 DataInputStream 를 작성합니다.
 
메소드의 개요
 int read (byte[] b)
          포함되는 입력 스트림로부터 수바이트를 읽어들여, 그것을 버퍼 배열 b 에 포함합니다.
 int read (byte[] b, int off, int len)
          보존된 입력 스트림로부터 len 바이트까지의 데이터를 바이트 배열에 읽어들입니다.
 boolean readBoolean ()
          DataInputreadBoolean 메소드의 범용 규약을 참조해 주세요.
 byte readByte ()
          DataInputreadByte 메소드의 범용 규약을 참조해 주세요.
 char readChar ()
          DataInputreadChar 메소드의 범용 규약을 참조해 주세요.
 double readDouble ()
          DataInputreadDouble 메소드의 범용 규약을 참조해 주세요.
 float readFloat ()
          DataInputreadFloat 메소드의 범용 규약을 참조해 주세요.
 void readFully (byte[] b)
          DataInputreadFully 메소드의 범용 규약을 참조해 주세요.
 void readFully (byte[] b, int off, int len)
          DataInputreadFully 메소드의 범용 규약을 참조해 주세요.
 int readInt ()
          DataInputreadInt 메소드의 범용 규약을 참조해 주세요.
 String readLine ()
          추천 되고 있지 않습니다.  이 메소드는, 바이트를 적절히 캐릭터 라인으로 변환하지 않습니다. JDK 1. 1 에서는, 텍스트행을 읽어들이는 방법으로서는 BufferedReader.readLine() 메소드를 사용하는 것이 추천 되고 있습니다. 행을 읽어들이는데 DataInputStream 클래스를 사용하는 프로그램을,BufferedReader 클래스를 사용하도록(듯이) 변환하려면 , 다음의 형식의 코드를,
     DataInputStream d = new DataInputStream(in);
 
다음의 형식의 코드로 옮겨놓습니다.
     BufferedReader d
          = new BufferedReader(new InputStreamReader(in));
 
 long readLong ()
          DataInputreadLong 메소드의 범용 규약을 참조해 주세요.
 short readShort ()
          DataInputreadShort 메소드의 범용 규약을 참조해 주세요.
 int readUnsignedByte ()
          DataInputreadUnsignedByte 메소드의 범용 규약을 참조해 주세요.
 int readUnsignedShort ()
          DataInputreadUnsignedShort 메소드의 범용 규약을 참조해 주세요.
 String readUTF ()
          DataInputreadUTF 메소드의 범용 규약을 참조해 주세요.
static String readUTF (DataInput  in)
          수정 UTF-8 형식에서 encode 된 Unicode 캐릭터 라인 표현을, 스트림 in 로부터 읽어들입니다.
 int skipBytes (int n)
          DataInputskipBytes 메소드의 범용 규약을 참조해 주세요.
 
클래스 java.io. FilterInputStream 로부터 상속된 메소드
available , close , mark , markSupported , read , reset , skip
 
클래스 java.lang. Object 로부터 상속된 메소드
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
 

생성자 의 상세

DataInputStream

public DataInputStream(InputStream  in)
지정된 기본이 되는 InputStream 를 사용하는 DataInputStream 를 작성합니다.

파라미터:
in - 지정된 입력 스트림
메소드의 상세

read

public final int read(byte[] b)
               throws IOException 
포함되는 입력 스트림로부터 수바이트를 읽어들여, 그것을 버퍼 배열 b 에 포함합니다. 실제로 읽힌 바이트수는 정수로서 돌려주어집니다. 이 메소드는, 입력 데이터를 읽어들일 수 있게 되는지, 파일의 마지막이 검출되든가, 혹은 예외가 throw 될 때까지 블록 합니다.

b 가 null 의 경우는,NullPointerException 가 throw 됩니다. b 가 0 의 경우, 바이트는 읽히지 않고,0 이 돌려주어집니다. 그렇지 않은 경우는, 1 바이트 이상 read 처리를 실시합니다. 스트림이 파일의 마지막에 이르고 있기 위해서(때문에) 읽어들이는 바이트가 없는 경우는, 값 -1 이 돌려주어집니다. 그렇지 않은 경우는, 1 바이트 이상 읽혀b 에 포함됩니다.

최초로 읽힌 바이트는 요소 b[0] 에 포함되어 다음의 바이트는 b[1] 에 포함됩니다. 읽히는 바이트수의 상한은,b 의 길이와 같습니다. 여기서,k 를 실제로 읽힌 바이트 수라고 합니다. 읽힌 바이트는, 요소 b[0] ~ b[k-1] 에 포함되어 요소 b[k] ~ b[b.length-1] 는 영향을 받지 않습니다.

read(b) 메소드의 효과는, 이하와 같습니다.

 read(b, 0, b.length) 
 

오버라이드(override):
클래스 FilterInputStream 내의 read
파라미터:
b - 데이터의 read처의 버퍼
반환값:
버퍼에 읽힌 바이트의 합계수. 스트림의 마지막에 이르러 데이터가 없는 경우는 -1
예외:
IOException - 최초의 바이트를 읽어들일 수 없는 이유가 파일의 마지막에 이르렀기 때문에가 아닌 경우, 스트림이 닫혀지고 있어 기본이 되는 입력 스트림이 닫혀진 상태에서의 read를 지원하지 않는 경우, 또는 다른 입출력 에러가 발생했을 경우
관련 항목:
FilterInputStream.in , InputStream.read(byte[], int, int)

read

public final int read(byte[] b,
                      int off,
                      int len)
               throws IOException 
보존된 입력 스트림로부터 len 바이트까지의 데이터를 바이트 배열에 읽어들입니다. len 까지의 바이트의 read가 시행됩니다만, 읽히는 바이트수는 좀 더 적은 경우도 있어, 0 의 경우도 있습니다. 실제로 읽힌 바이트수는 정수로서 돌려주어집니다.

이 메소드는, 입력 데이터를 읽어들일 수 있게 되는지, 파일의 마지막이 검출되든가, 혹은 예외가 throw 될 때까지 블록 합니다.

len 가 0 의 경우는, 바이트가 읽히지 않고,0 이 돌려주어집니다. 그렇지 않은 경우는, 1 바이트 이상의 read 처리를 합니다. 스트림이 파일의 마지막에 이르고 있기 위해서(때문에) 읽어들이는 바이트가 없는 경우는, 값 -1 이 돌려주어집니다. 그렇지 않은 경우는, 1 바이트 이상 읽혀b 에 포함됩니다.

최초로 읽힌 바이트는 요소 b[off] 에 포함되어 다음의 바이트는 b[off+1] 에 포함됩니다. 읽히는 바이트수의 상한은,len 의 길이와 같습니다. 여기서,k 를 실제로 읽힌 바이트 수라고 합니다. 읽힌 바이트는, 요소 b[off] ~ b[off+k-1] 에 포함되어 요소 b[off+k] ~ b[off+len-1] 는 영향을 받지 않습니다.

모든 경우에, 요소 b[0] ~ b[off] 및 요소 b[off+len] ~ b[b.length-1] 는 영향을 받지 않습니다.

오버라이드(override):
클래스 FilterInputStream 내의 read
파라미터:
b - 데이터의 read처의 버퍼
off - 전송처의 배열 b 내에서의 개시 오프셋(offset)
len - 읽히는 최대 바이트수
반환값:
버퍼에 읽힌 바이트의 합계수. 스트림의 마지막에 이르러 데이터가 없는 경우는 -1
예외:
NullPointerException - bnull 의 경우
IndexOutOfBoundsException - off 가 부,len 가 부, 또는 lenb.length - off 보다 큰 경우
IOException - 최초의 바이트를 읽어들일 수 없는 이유가 파일의 마지막에 이르렀기 때문에가 아닌 경우, 스트림이 닫혀지고 있어 기본이 되는 입력 스트림이 닫혀진 상태에서의 read를 지원하지 않는 경우, 또는 다른 입출력 에러가 발생했을 경우
관련 항목:
FilterInputStream.in , InputStream.read(byte[], int, int)

readFully

public final void readFully(byte[] b)
                     throws IOException 
DataInputreadFully 메소드의 범용 규약을 참조해 주세요.  

이 오퍼레이션의 바이트는, 포함되고 있는 입력 스트림로부터 읽힙니다.

정의:
인터페이스 DataInput 내의 readFully
파라미터:
b - 데이터의 read처의 버퍼
예외:
EOFException - 모든 바이트를 읽어들이기 전에, 이 입력 스트림의 마지막에 이르렀을 경우
IOException - 스트림이 닫혀지고 있어 포함되는 입력 스트림이 닫혀진 상태에서의 read를 지원하지 않는 경우, 또는 그 외의 입출력 에러가 발생했을 경우
관련 항목:
FilterInputStream.in

readFully

public final void readFully(byte[] b,
                            int off,
                            int len)
                     throws IOException 
DataInputreadFully 메소드의 범용 규약을 참조해 주세요.  

이 오퍼레이션의 바이트는, 포함되고 있는 입력 스트림로부터 읽힙니다.

정의:
인터페이스 DataInput 내의 readFully
파라미터:
b - 데이터의 read처의 버퍼
off - 데이터의 개시 오프셋(offset)
len - 읽어들이는 바이트수
예외:
EOFException - 모든 바이트를 읽어들이기 전에, 이 입력 스트림의 마지막에 이르렀을 경우
IOException - 스트림이 닫혀지고 있어 포함되는 입력 스트림이 닫혀진 상태에서의 read를 지원하지 않는 경우, 또는 그 외의 입출력 에러가 발생했을 경우
관련 항목:
FilterInputStream.in

skipBytes

public final int skipBytes(int n)
                    throws IOException 
DataInputskipBytes 메소드의 범용 규약을 참조해 주세요.  

이 오퍼레이션의 바이트는, 포함되고 있는 입력 스트림로부터 읽힙니다.

정의:
인터페이스 DataInput 내의 skipBytes
파라미터:
n - 스킵 하는 바이트수
반환값:
스킵 된 실제의 바이트수
예외:
IOException - 포함되는 입력 스트림이 시크를 지원하지 않는 경우, 스트림이 닫혀지고 있어 포함되는 입력 스트림이 닫혀진 상태에서의 read를 지원하지 않는 경우, 또는 그 외의 입출력 에러가 발생했을 경우

readBoolean

public final boolean readBoolean()
                          throws IOException 
DataInputreadBoolean 메소드의 범용 규약을 참조해 주세요.  

이 오퍼레이션의 바이트는, 포함되고 있는 입력 스트림로부터 읽힙니다.

정의:
인터페이스 DataInput 내의 readBoolean
반환값:
읽힌 boolean 의 값
예외:
EOFException - 입력 스트림이 마지막에 이르렀을 경우
IOException - 스트림이 닫혀지고 있어 포함되는 입력 스트림이 닫혀진 상태에서의 read를 지원하지 않는 경우, 또는 그 외의 입출력 에러가 발생했을 경우
관련 항목:
FilterInputStream.in

readByte

public final byte readByte()
                    throws IOException 
DataInputreadByte 메소드의 범용 규약을 참조해 주세요.  

이 오퍼레이션의 바이트는, 포함되고 있는 입력 스트림로부터 읽힙니다.

정의:
인터페이스 DataInput 내의 readByte
반환값:
부호 첨부 8 비트 byte 로 간주해지는 입력 스트림의 다음의 바이트
예외:
EOFException - 입력 스트림이 마지막에 이르렀을 경우
IOException - 스트림이 닫혀지고 있어 포함되는 입력 스트림이 닫혀진 상태에서의 read를 지원하지 않는 경우, 또는 그 외의 입출력 에러가 발생했을 경우
관련 항목:
FilterInputStream.in

readUnsignedByte

public final int readUnsignedByte()
                           throws IOException 
DataInputreadUnsignedByte 메소드의 범용 규약을 참조해 주세요.  

이 오퍼레이션의 바이트는, 포함되고 있는 입력 스트림로부터 읽힙니다.

정의:
인터페이스 DataInput 내의 readUnsignedByte
반환값:
입력 스트림의 다음의 바이트를 부호 없음 8 비트라고 해석한 값
예외:
EOFException - 입력 스트림이 마지막에 이르렀을 경우
IOException - 스트림이 닫혀지고 있어 포함되는 입력 스트림이 닫혀진 상태에서의 read를 지원하지 않는 경우, 또는 그 외의 입출력 에러가 발생했을 경우
관련 항목:
FilterInputStream.in

readShort

public final short readShort()
                      throws IOException 
DataInputreadShort 메소드의 범용 규약을 참조해 주세요.  

이 오퍼레이션의 바이트는, 포함되고 있는 입력 스트림로부터 읽힙니다.

정의:
인터페이스 DataInput 내의 readShort
반환값:
입력 스트림의 다음의 2 바이트를 부호 첨부 16 비트라고 해석한 값
예외:
EOFException - 2 바이트를 읽어들이기 전에, 입력 스트림의 마지막에 이르렀을 경우
IOException - 스트림이 닫혀지고 있어 포함되는 입력 스트림이 닫혀진 상태에서의 read를 지원하지 않는 경우, 또는 그 외의 입출력 에러가 발생했을 경우
관련 항목:
FilterInputStream.in

readUnsignedShort

public final int readUnsignedShort()
                            throws IOException 
DataInputreadUnsignedShort 메소드의 범용 규약을 참조해 주세요.  

이 오퍼레이션의 바이트는, 포함되고 있는 입력 스트림로부터 읽힙니다.

정의:
인터페이스 DataInput 내의 readUnsignedShort
반환값:
입력 스트림의 다음의 2 바이트를 부호 없음 16 비트라고 해석한 정수치
예외:
EOFException - 2 바이트를 읽어들이기 전에, 입력 스트림의 마지막에 이르렀을 경우
IOException - 스트림이 닫혀지고 있어 포함되는 입력 스트림이 닫혀진 상태에서의 read를 지원하지 않는 경우, 또는 그 외의 입출력 에러가 발생했을 경우
관련 항목:
FilterInputStream.in

readChar

public final char readChar()
                    throws IOException 
DataInputreadChar 메소드의 범용 규약을 참조해 주세요.  

이 오퍼레이션의 바이트는, 포함되고 있는 입력 스트림로부터 읽힙니다.

정의:
인터페이스 DataInput 내의 readChar
반환값:
입력 스트림의 다음의 2 바이트를 char 라고 해석한 값
예외:
EOFException - 2 바이트를 읽어들이기 전에, 입력 스트림의 마지막에 이르렀을 경우
IOException - 스트림이 닫혀지고 있어 포함되는 입력 스트림이 닫혀진 상태에서의 read를 지원하지 않는 경우, 또는 그 외의 입출력 에러가 발생했을 경우
관련 항목:
FilterInputStream.in

readInt

public final int readInt()
                  throws IOException 
DataInputreadInt 메소드의 범용 규약을 참조해 주세요.  

이 오퍼레이션의 바이트는, 포함되고 있는 입력 스트림로부터 읽힙니다.

정의:
인터페이스 DataInput 내의 readInt
반환값:
스트림의 다음의 4 바이트를 int 라고 해석한 값
예외:
EOFException - 4 바이트를 읽어들이기 전에, 입력 스트림의 마지막에 이르렀을 경우
IOException - 스트림이 닫혀지고 있어 포함되는 입력 스트림이 닫혀진 상태에서의 read를 지원하지 않는 경우, 또는 그 외의 입출력 에러가 발생했을 경우
관련 항목:
FilterInputStream.in

readLong

public final long readLong()
                    throws IOException 
DataInputreadLong 메소드의 범용 규약을 참조해 주세요.  

이 오퍼레이션의 바이트는, 포함되고 있는 입력 스트림로부터 읽힙니다.

정의:
인터페이스 DataInput 내의 readLong
반환값:
입력 스트림의 다음의 8 바이트를 long 라고 해석한 값
예외:
EOFException - 8 바이트를 읽어들이기 전에, 입력 스트림의 마지막에 이르렀을 경우
IOException - 스트림이 닫혀지고 있어 포함되는 입력 스트림이 닫혀진 상태에서의 read를 지원하지 않는 경우, 또는 그 외의 입출력 에러가 발생했을 경우
관련 항목:
FilterInputStream.in

readFloat

public final float readFloat()
                      throws IOException 
DataInputreadFloat 메소드의 범용 규약을 참조해 주세요.  

이 오퍼레이션의 바이트는, 포함되고 있는 입력 스트림로부터 읽힙니다.

정의:
인터페이스 DataInput 내의 readFloat
반환값:
입력 스트림의 다음의 4 바이트를 float 라고 해석한 값
예외:
EOFException - 4 바이트를 읽어들이기 전에, 입력 스트림의 마지막에 이르렀을 경우
IOException - 스트림이 닫혀지고 있어 포함되는 입력 스트림이 닫혀진 상태에서의 read를 지원하지 않는 경우, 또는 그 외의 입출력 에러가 발생했을 경우
관련 항목:
readInt() , Float.intBitsToFloat(int)

readDouble

public final double readDouble()
                        throws IOException 
DataInputreadDouble 메소드의 범용 규약을 참조해 주세요.  

이 오퍼레이션의 바이트는, 포함되고 있는 입력 스트림로부터 읽힙니다.

정의:
인터페이스 DataInput 내의 readDouble
반환값:
입력 스트림의 다음의 8 바이트를 double 라고 해석한 값
예외:
EOFException - 8 바이트를 읽어들이기 전에, 입력 스트림의 마지막에 이르렀을 경우
IOException - 스트림이 닫혀지고 있어 포함되는 입력 스트림이 닫혀진 상태에서의 read를 지원하지 않는 경우, 또는 그 외의 입출력 에러가 발생했을 경우
관련 항목:
readLong() , Double.longBitsToDouble(long)

readLine

@Deprecated 
public final String  readLine()
                      throws IOException 
추천 되고 있지 않습니다.  이 메소드는, 바이트를 적절히 캐릭터 라인으로 변환하지 않습니다. JDK 1. 1 에서는, 텍스트행을 읽어들이는 방법으로서는 BufferedReader.readLine() 메소드를 사용하는 것이 추천 되고 있습니다. 행을 읽어들이는데 DataInputStream 클래스를 사용하는 프로그램을,BufferedReader 클래스를 사용하도록(듯이) 변환하려면 , 다음의 형식의 코드를,
     DataInputStream d = new DataInputStream(in);
 
다음의 형식의 코드로 옮겨놓습니다.
     BufferedReader d
          = new BufferedReader(new InputStreamReader(in));
 

DataInputreadLine 메소드의 범용 규약을 참조해 주세요.  

이 오퍼레이션의 바이트는, 포함되고 있는 입력 스트림로부터 읽힙니다.

정의:
인터페이스 DataInput 내의 readLine
반환값:
입력 스트림로부터의 다음의 텍스트행
예외:
IOException - 입출력 에러가 발생했을 경우
관련 항목:
BufferedReader.readLine() , FilterInputStream.in

readUTF

public final String  readUTF()
                     throws IOException 
DataInputreadUTF 메소드의 범용 규약을 참조해 주세요.  

이 오퍼레이션의 바이트는, 포함되고 있는 입력 스트림로부터 읽힙니다.

정의:
인터페이스 DataInput 내의 readUTF
반환값:
Unicode 캐릭터 라인
예외:
EOFException - 모든 바이트를 읽어들이기 전에, 이 입력 스트림의 마지막에 이르렀을 경우
IOException - 스트림이 닫혀지고 있어 포함되는 입력 스트림이 닫혀진 상태에서의 read를 지원하지 않는 경우, 또는 그 외의 입출력 에러가 발생했을 경우
UTFDataFormatException - 캐릭터 라인중의 바이트가, 유효한 수정 UTF-8 형식에서 encode 된 캐릭터 라인 이외에서 만났을 경우
관련 항목:
readUTF(java.io.DataInput)

readUTF

public static final String  readUTF(DataInput  in)
                            throws IOException 
수정 UTF-8 형식에서 encode 된 Unicode 캐릭터 라인 표현을, 스트림 in 로부터 읽어들입니다. 읽힌 캐릭터 라인은,String 로서 돌려주어집니다. 수정 UTF-8 표현의 자세한 것은,DataInputreadUTF 메소드의 것과 완전하게 일치합니다.

파라미터:
in - 데이터 입력 스트림
반환값:
Unicode 캐릭터 라인
예외:
EOFException - 모든 바이트를 읽어들이기 전에, 입력 스트림의 마지막에 이르렀을 경우
IOException - 스트림이 닫혀지고 있어 포함되는 입력 스트림이 닫혀진 상태에서의 read를 지원하지 않는 경우, 또는 그 외의 입출력 에러가 발생했을 경우
UTFDataFormatException - 캐릭터 라인중의 바이트가, 유효한 수정 UTF-8 형식에서 encode 된 Unicode 캐릭터 라인 이외에서 만났을 경우
관련 항목:
readUnsignedShort()

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