- 형변환을 해줄 필요가 없다는 장점이 있음
- 단, 화면 출력용이 아닌 데이터 전달용으로 만들어진 클래스이기 때문에 화면에는 이상하게 출력됨.
DateOutputStream
int a = 10;
boolean b =true;
double c = 3.5;
char d ='A';
String f = "안녕하세요";
try {
DataOutputStream dos = new DataOutputStream(new FileOutputStream("data.dat"));
dos.writeInt(a);
dos.writeBoolean(b);
dos.writeDouble(c);
dos.writeChar(d);
dos.writeUTF(f);
dos.close();
System.out.println("파일로 저장 완료");
}catch(IOException ie) {
System.out.println(ie.getMessage());
}
- 저장된 순서대로 읽어와야 함.
->자료형마다 저장된 바이트크기가 다른데 순서대로 안불러오고 다른 크기의 바이트를 불러오면 맞지 않아서 꺠질 수 밖에 없음
try {
DataInputStream dis = new DataInputStream(new FileInputStream("data.dat"));
int a = dis.readInt();
boolean b = dis.readBoolean();
double c = dis.readDouble();
char d =dis.readChar();
String f = dis.readUTF();
dis.close();
System.out.println("<<파일에서 읽어온 데이터>>");
System.out.println("a: "+a);
System.out.println("b: "+b);
System.out.println("c: "+c);
System.out.println("d: "+d);
System.out.println("f: "+f);
}catch(IOException ie) {
System.out.println(ie.getMessage());
}