본문 바로가기

명사 美 비격식 (무리 중에서) 아주 뛰어난[눈에 띄는] 사람[것]

JAVA

DataOutputStream 8가지 기본 자료형의 단위로 쓰다

DataInputStream DataOutputStream

FilterInputStream FilterOutputStream의 자손

DataInputStream DataOutputStream는 DataInput DataOutput인터페이스를 각각구현했기때문에

byte단위가 아닌 8가지 기본 자료형의 단위로 읽고 쓸 수 있다.

https://standout.tistory.com/1480

 

DataInputStream 8가지 기본 자료형의 단위로 읽다

DataInputStream DataOutputStream FilterInputStream FilterOutputStream의 자손 DataInputStream DataOutputStream는 DataInput DataOutput인터페이스를 각각구현했기때문에 byte단위가 아닌 8가지 기본 자료형의 단위로 읽고 쓸 수

standout.tistory.com

 

 

 

DataOutputStream(OutputStream out) 주어진 입력 스트림에서 데이터를 읽기 위한 DataOutputStream 객체를 생성한다.

void writeBoolean(boolean b): 주어진 boolean 값을 출력합니다.
void writeByte(int b): 주어진 int 값을 바이트로 출력합니다.
void writeChar(int c): 주어진 int 값을 UTF-16 문자로 출력합니다.
void writeChars(String s): 주어진 문자열의 각 문자를 UTF-16으로 출력합니다.
void writeShort(int s): 주어진 int 값을 short 형태로 출력합니다.
void writeInt(int i): 주어진 int 값을 출력합니다.
void writeLong(long l): 주어진 long 값을 출력합니다.
void writeFloat(float f): 주어진 float 값을 출력합니다.
void writeDouble(double d): 주어진 double 값을 출력합니다.
void writeUTF(Strinf s): UTF-8 인코딩으로 문자열을 출력합니다.
int size(): 현재까지 기록된 바이트의 총 크기를 반환합니다.

 

 

예시로 확인해보자.

```java
import java.io.*;

public class DataOutputExample {
    public static void main(String[] args) {
        try {
            // 파일에 데이터를 쓰기 위한 DataOutputStream 생성
            DataOutputStream outputStream = new DataOutputStream(new FileOutputStream("data.dat"));

            // boolean 값 쓰기
            outputStream.writeBoolean(true);

            // byte 값 쓰기
            outputStream.writeByte(65); // 'A'

            // char 값 쓰기
            outputStream.writeChar(66); // 'B'

            // 문자열 쓰기 (UTF-8로 인코딩하여 쓰기)
            outputStream.writeUTF("Hello");

            // short 값 쓰기
            outputStream.writeShort(123);

            // int 값 쓰기
            outputStream.writeInt(456);

            // long 값 쓰기
            outputStream.writeLong(789);

            // float 값 쓰기
            outputStream.writeFloat(3.14f);

            // double 값 쓰기
            outputStream.writeDouble(2.71828);

            // UTF 문자열 쓰기
            outputStream.writeUTF("안녕하세요");

            // 출력 스트림 닫기
            outputStream.close();

            // 파일에서 데이터를 읽기 위한 BufferedReader 생성
            BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream("data.dat"), "UTF-8"));

            // 파일 내용을 한 줄씩 읽어서 출력하기
            String line;
            while ((line = reader.readLine()) != null) {
                System.out.println(line);
            }

            // 입력 스트림 닫기
            reader.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

[출력결과]
true
A
B
Hello
123
456
789
3.14
2.71828
안녕하세요