본문 바로가기

Learning/JAVA

DataInputStream과 DataOutputStream

 
  • DataInputStream과 DataOutputStream은 메모리에 저장된 0,1상태를 읽거나 쓴다. 그래서 자료형의 크기가 그대로 보존된다.  (DataStreamTest)

    • DataInputStream은 자료형별 메서드를 제공하여 자료형에 따라 읽거나 쓴다. (readByte, readChar, readInt 등..)

    • DataOutputStream은 read()에 대응되는 write()메소드를 사용한다. (writeByte, writeChar, writeInt 등..)

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
package ioTest;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
public class DataStreamTest {
    public static void main(String[] args) {
        try {
            FileOutputStream fos=new FileOutputStream("data.txt");
            DataOutputStream dos=new DataOutputStream(fos);
            dos.writeByte(100);
            dos.writeChar('A');
            dos.writeInt(10);
            dos.writeFloat(3.14f);
            dos.writeUTF("Test");
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
        try {
            FileInputStream fis=new FileInputStream("data.txt");
            DataInputStream dis=new DataInputStream(fis);
            //write로 내보낸 자료형 순서대로 써야함
            System.out.println(dis.readByte());
            System.out.println(dis.readChar());
            System.out.println(dis.readInt());
            System.out.println(dis.readFloat());
            System.out.println(dis.readUTF());
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

출처: Do it 자바 프로그래밍 입문 (548p-DataInputStream/DataOutputStream 테스트하기)