[바이트 스트림] 기본 데이터형(int,float,double,boolean,short,byte 등) 파일에 저장/읽기
Java/Input/Output Facilities 2013. 2. 10. 22:57DataInputStream과 DataOutputStream
DataInputStream과 DataOutputStream은 자바의 Primitive 데이터를 입력하고 출력하는데 알맞는 클래스이다. DataInputStream는 생성자에 InputStream을 받아들이며, DataOutputStream은 생성자에서 OutputStream을 받아들인다. 이는 다른 바이트스트림을 통해서 읽어들이거나 쓴다는 의미다.
** InputStream, OutputStream을 받아들인다는 것은InputStream과 OutputStream의 각각의 하위 클래스드을 받아 들일수 있다는 것을 의미한다.
DataOutputStream을 이용한 데이터 파일로 데이터 출력
package ch4;
import java.io.DataOutputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class DataOutputStreamTest {
public static void main(String[] args) {
FileOutputStream fis = null;
DataOutputStream dis = null;
try {
fis = new FileOutputStream("data.bin");
dis = new DataOutputStream(fis);
dis.writeBoolean(true);
dis.writeByte((byte) 5);
dis.writeInt(100);
dis.writeDouble(200.5);
dis.writeUTF("hello world");
System.out.println("저장했습니다.");
} catch (Exception ex) {
System.out.println(ex);
} finally {
try {
fis.close();
} catch (IOException e) {
}
try {
dis.close();
} catch (IOException e) {
}
}
}
}
DataInputStream을 이용한 데이터 파일로부터 데이터 출력(읽기)
package ch4;
import java.io.DataInputStream;
import java.io.FileInputStream;
import java.io.IOException;
public class DataInputStreamTest {
public static void main(String[] args) {
FileInputStream fis = null;
DataInputStream dis = null;
try {
fis = new FileInputStream("data.bin");
dis = new DataInputStream(fis);
boolean b = dis.readBoolean();
byte b2 = dis.readByte();
int i = dis.readInt();
double d = dis.readDouble();
String s = dis.readUTF();
System.out.println("boolean :" + b);
System.out.println("byte :" + b2);
System.out.println("int :" + i);
System.out.println("double :" + d);
System.out.println("String :" + s);
} catch (Exception ex) {
System.out.println(ex);
} finally {
try {
fis.close();
} catch (IOException e) {
}
try {
dis.close();
} catch (IOException e) {
}
}
}
}
'Java > Input/Output Facilities' 카테고리의 다른 글
[바이트 스트림] 파일이나 배열의 내용을 읽어들여 출력 (0) | 2013.02.11 |
---|---|
[바이트 스트림] 바이트배열의 사용[ByteArrayInputStream / ByteArrayOutputStream] (0) | 2013.02.11 |
[바이트 스트림] 파일복사 - FileInputStream & FileOutputStream (0) | 2013.02.10 |
[바이트 스트림] 입출력시 OS에대한 고려해야할 사항 – 파일 IO Stream (0) | 2013.02.10 |
IO클래스 사용시 지켜야 할 점. (0) | 2013.02.10 |