본문 바로가기

자바

파일 입 출력과 객체 직렬화

728x90

입력

 

bufferedReaer br =new bufferedReaer(new InputStreamReader(new FileInputStream))

 

FileInputStream à파일의 형태를 byte로 받아 옴

 

InputStreamReaderà byte 형태를 단어 char로 바꿔서 정리

 

bufferedReaeràchar형을 인식

 

char형으로 하는 이유는 우리가 다룰 때 byte 형태보다 char형이 접근이 용이함

 

 

BufferInputStream br=new BufferInputStream (new FileInputStream));

 

BufferInputStreamà byte 형태로 입력을 받음

 

!! FileInputStream 이후에 BufferInputStream를 사용하는 이유는 버퍼에 저장을 해 한꺼번에 입력을 받아 속도를 더욱 빠르게 하기 위한 기능

 

 

출력

 

bufferedwriter br =new bufferedwriter (new outputStreamReader(new FileoutputStream))

 

FileoutputStream à파일의 형태를 byte로 입력

 

outputStreamwriteà char 형태를 단어 byte로 바꿔서 정리

 

bufferedwriteràchar형을 인식

 

char형으로 하는 이유는 우리가 다룰 때 byte 형태보다 char형이 접근이 용이함

 

 

BufferOutputStream br=new BufferOutputStream (new FileOutputStream));

 

BufferOutputStreamà byte 형태로 출력을 함

 

!! FileOutputStream 이후에 BufferOutputStream를 사용하는 이유는 버퍼에 저장을 해 한꺼번에 출력을 해 속도를 더욱 빠르게 하기 위한 기능

 

 

객체 직렬화

 

객체 직렬화 데이터를 가지고 있는 객체를 그대로 전송할 있는 형태(byte) 바꾸는 방법을 말합니다.

 

 

ObjectOutputStream ou=new ObjectOutputStream(new FileOutputStream());

 

ObjectInputStream ou=new ObjectInputStream(new FileInputStream());

 

이것을 해주기 위해

 

객체 직렬 화해 줄 대상에 Serializable을 implements 해준다.

 

이때 transient를 변수에 붙이면 해당 변수는 객체 직렬화에서 제외가 된다.