DataOutputStream — 기본형 데이터를 이식 가능하게 쓰기

DataOutputStream — 기본형 데이터를 이식 가능하게 쓰기

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

출처: Java API Reference

본문

이 클래스는 java.io.OutputStreamjava.io.FilterOutputStream을 상속하며 Closeable, DataOutput, Flushable, AutoCloseable을 구현합니다.

필드

  • protected int written — 지금까지 데이터 출력 스트림에 쓴 바이트 수예요.

생성자

  • DataOutputStream(OutputStream out) — 지정한 기반 출력 스트림에 데이터를 쓰는 새 데이터 출력 스트림을 만들어요.

메서드

  • void flush() — 이 데이터 출력 스트림을 플러시해요.
  • int size() — 카운터 written의 현재 값, 즉 지금까지 이 데이터 출력 스트림에 쓴 바이트 수를 반환해요.
  • void write(int b) — 지정한 바이트를 기반 출력 스트림에 써요.
  • void write(byte[] b, int off, int len)off 오프셋부터 b 배열의 len 바이트를 기반 출력 스트림에 써요.
  • final void writeBoolean(boolean v)boolean을 기반 출력 스트림에 1바이트로 써요.
  • final void writeByte(int v)int의 낮은 8비트를 기반 출력 스트림에 1바이트로 써요.
  • final void writeBytes(String s) — 문자열을 바이트 시퀀스로 기반 출력 스트림에 써요.
  • final void writeChar(int v)char를 기반 출력 스트림에 2바이트로 써요.
  • final void writeChars(String s) — 문자열을 문자 시퀀스로, 각 문자를 2바이트씩 써요.
  • final void writeDouble(double v)Double.doubleToLongBits로 변환한 long을 8바이트로 써요.
  • final void writeFloat(float v)Float.floatToIntBits로 변환한 int를 4바이트로 써요.
  • final void writeInt(int v)int를 4바이트로 써요.
  • final void writeLong(long v)long을 8바이트로 써요.
  • final void writeShort(int v)int의 낮은 16비트를 2바이트로 써요.
  • final void writeUTF(String s) — 문자열을 수정된 UTF-8 형식으로 써요.

DataOutputStreamDataInputStream과 짝을 이루어 이진 데이터를 저장하거나 전송할 때 널리 사용돼요.

더 알아보기 (Learn more)