본문 바로가기
  • think normal
새로워지기/서른의 생활코딩

ex15) java.io.* _DataOutputStream + DataInputStream

by 청춘만화 2012. 3. 6.


import java.io.*;

public class DataIOTest {
public static void main( String[] args ) {
try {
// 파일에 저장하기 위한 FileOutputStream 객체 생성
FileOutputStream fos = new FileOutputStream( "data.txt" );
//출력,버퍼X,여기선 write 함수 밖에 없다.
// FileOutputStream 객체를 argument로 받아 들이는
// DataOutputStream 객체 생성
DataOutputStream dos = new DataOutputStream( fos );
//다양한  write 함수지원!!!! (출력전용)
// 각 데이타 타이에 맞는 write 메소드를 호출해
// 파일에 데이타를 저장
dos.writeChar( 'j' );
dos.writeInt( 1234 );
dos.writeBoolean( true ); //4byte 
dos.writeFloat( 3.14F );
dos.writeDouble( 123.5423 );
dos.writeUTF( "gemini" );
//출력함수=내용을 모두 읽어서 ,단위별로 끊어서!
// 파일에서 데이타를 읽어 들이기 위한
// FileInputStream 객체 생성
FileInputStream fis = new FileInputStream( "data.txt" );
//(입력전용)+다양한 read함수 사용가능 ,단 닫고나서 읽는것이 표준!!
//+ 단 출력과 같은 순서로  작성되어야한다.!
// 각데이타 타입별로 데이타를 읽어 들이기 위한
// DataInputStream 객체 생성
DataInputStream dis = new DataInputStream( fis );
// 각 데이타 타입에 맞게 read()를 호출해
// 파일에서 데이타를 읽어 들임
System.out.println( dis.readChar() );
System.out.println( dis.readInt() );
System.out.println( dis.readBoolean() );
System.out.println( dis.readFloat() );
System.out.println( dis.readDouble() );
System.out.println( dis.readUTF() );
// 파일과의 스트림 해제, 자원 반납
dos.close();
dis.close();
} catch ( IOException io ) {
System.out.println( io.toString() );
}
}
}

댓글