DataInputStream — 기계 독립적으로 기본형 데이터 읽기

DataInputStream — 기계 독립적으로 기본형 데이터 읽기

DataInputStream은 애플리케이션이 기반 입력 스트림에서 Java 기본 데이터 타입을 기계 독립적인 방식으로 읽을 수 있게 해 주는 데이터 입력 스트림이에요. 애플리케이션은 데이터 출력 스트림으로 쓴 데이터를 나중에 데이터 입력 스트림으로 다시 읽을 수 있어요. DataInputStream은 여러 동시 스레드에서 안전하지 않으므로, 둘 이상의 스레드가 사용한다면 적절한 동기화로 접근을 제어해야 해요.

출처: Java API Reference

본문

이 클래스는 java.io.InputStreamjava.io.FilterInputStream을 상속하며 Closeable, DataInput, AutoCloseable을 구현합니다.

생성자

  • DataInputStream(InputStream in) — 지정한 기반 InputStream을 사용하는 DataInputStream을 만들어요.

메서드

  • final int read(byte[] b) — 포함된 입력 스트림에서 일부 바이트를 읽어 버퍼 배열 b에 저장해요.
  • final int read(byte[] b, int off, int len) — 포함된 입력 스트림에서 최대 len 바이트를 읽어 바이트 배열에 넣어요.
  • final boolean readBoolean()DataInput.readBoolean의 일반 계약을 따르며 boolean을 읽어요.
  • final byte readByte()byte를 읽어요.
  • final char readChar()char를 읽어요.
  • final double readDouble()double을 읽어요.
  • final float readFloat()float을 읽어요.
  • final void readFully(byte[] b) — 바이트를 정확히 다 읽어요.
  • final void readFully(byte[] b, int off, int len) — 지정한 만큼 바이트를 정확히 읽어요.
  • final int readInt()int를 읽어요.
  • final String readLine() — (더 이상 권장하지 않음) 텍스트 한 줄을 읽어요. 바이트를 문자로 제대로 변환하지 못할 수 있어요.
  • final long readLong()long을 읽어요.
  • final short readShort()short를 읽어요.
  • final int readUnsignedByte() — 부호 없는 바이트를 읽어요.
  • final int readUnsignedShort() — 부호 없는 short를 읽어요.
  • final String readUTF()DataInput.readUTF의 일반 계약을 따르며 수정된 UTF-8 문자열을 읽어요.
  • final int skipBytes(int n) — 입력에서 바이트를 건너뛰어요.

DataInputStream은 네트워크나 파일에서 이진 데이터를 읽을 때 DataOutputStream과 짝을 이루어 많이 사용돼요.

더 알아보기 (Learn more)