JAVA/포스팅

자바 DataInputStream

짜집퍼박사(짜박) 2023. 11. 26. 02:10

DataInputStream 클래스는 자바의 입력 스트림을 통해 기본 데이터 유형을 읽을 수 있게 해주는 보조 스트림 중 하나입니다. 주로 원시 데이터 타입의 바이너리 형식으로 저장된 데이터를 읽을 때 사용됩니다.

DataInputStream은 기본 데이터 타입(primitive data types)과 문자열을 바이너리 형태로 읽을 수 있습니다. 예를 들어, int, double, boolean, char 등의 기본 데이터 유형을 바이트 스트림으로부터 읽어오는 데 사용됩니다.

다음은 DataInputStream의 주요 메서드 몇 가지입니다:

- readBoolean(): 바이트 스트림에서 boolean 값을 읽습니다.
- readByte(): 바이트 스트림에서 byte 값을 읽습니다.
- readShort(): 바이트 스트림에서 short 값을 읽습니다.
- readInt(): 바이트 스트림에서 int 값을 읽습니다.
- readLong(): 바이트 스트림에서 long 값을 읽습니다.
- readFloat(): 바이트 스트림에서 float 값을 읽습니다.
- readDouble(): 바이트 스트림에서 double 값을 읽습니다.
- readChar(): 바이트 스트림에서 char 값을 읽습니다.
- readUTF(): 바이트 스트림에서 UTF-8 인코딩으로 된 문자열을 읽습니다.

 

다음은 간단한 사용 예제입니다.

import java.io.DataInputStream;
import java.io.FileInputStream;
import java.io.IOException;

public class DataInputStreamExample {
    public static void main(String[] args) {
        try (DataInputStream dataInputStream = new DataInputStream(new FileInputStream("data.bin"))) {

            // 바이너리 파일에서 데이터 읽기
            boolean booleanValue = dataInputStream.readBoolean();
            byte byteValue = dataInputStream.readByte();
            short shortValue = dataInputStream.readShort();
            int intValue = dataInputStream.readInt();
            long longValue = dataInputStream.readLong();
            float floatValue = dataInputStream.readFloat();
            double doubleValue = dataInputStream.readDouble();
            char charValue = dataInputStream.readChar();
            String stringValue = dataInputStream.readUTF();

            // 읽은 데이터 출력
            System.out.println("booleanValue: " + booleanValue);
            System.out.println("byteValue: " + byteValue);
            System.out.println("shortValue: " + shortValue);
            System.out.println("intValue: " + intValue);
            System.out.println("longValue: " + longValue);
            System.out.println("floatValue: " + floatValue);
            System.out.println("doubleValue: " + doubleValue);
            System.out.println("charValue: " + charValue);
            System.out.println("stringValue: " + stringValue);

        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

이 예제에서는 DataInputStream을 사용하여 바이너리 파일에서 다양한 기본 데이터 유형을 읽어오고 있습니다. 데이터를 쓸 때 사용되는 DataOutputStream와 함께 사용되어 데이터의 일관성을 유지하는 데 유용합니다.

 

With ChatGPT

'JAVA > 포스팅' 카테고리의 다른 글

자바 SequenceInputStream  (0) 2023.11.26
자바 DataOutputStream  (0) 2023.11.26
자바 BufferedOutputStream  (0) 2023.11.26
자바 BufferedInputStream  (0) 2023.11.26
자바 FilterOutputStream  (0) 2023.11.26