DataInputStream과 DataOutputStream의 예제..
public class DataStreamHandle {
public static void main(String[] args) throws Exception {
FileOutputStream fos = new FileOutputStream("d:/data.txt");
DataOutputStream dos = new DataOutputStream(fos);
dos.write(100);
dos.writeInt(100);
dos.writeFloat(3.14f);
dos.writeFloat(4.14f);
dos.writeChar('A');
dos.close();
FileInputStream fis = new FileInputStream("d:/data.txt");
DataInputStream dis = new DataInputStream(fis);
int i = dis.read();
int i2 = dis.readInt();
float f = dis.readFloat();
float f2 = dis.readFloat();
char c = dis.readChar();
dis.close();
System.out.println( i + "," + i2 + "," + f + "," + f2 + "," + c);
}
}
특정 파일에 data형에 따라서 Data를 작성한다. 위 코드에 의해 작성된 data.txt를 일반 에디터로 열어보면
아래와 같이 나온다.
d d@H憁@꼣?A.. 뭥미?
마치 바이너리 처럼...
읽어 들일때는 write한 순서대로 read 해야한다. 예를 들면
int i = dis.read();
int i2 = dis.readInt();
float f = dis.readFloat();
char c = dis.readChar();
이렇게 read를 하게 되면 f 이후로는 깨져서 데이터가 들어오게 된다.
파일을 이용해서 특정 데이터 구조를 유지하고 사용하기 위해서 쓰면 괜찮을 것 같다..