-
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 테스트하기)