자바네트워크 제3주
문자스트림: 문자단위 IO 클래스, 객체스트림
제5장 문자스트림: 문자단위 IO 클래스
•
필요성
•
문자단위 IO 클래스
•
Reader와 Writer
•
InputStreamReader와 OutputStreamWriter
•
FileReader와 FileWriter
•
BufferedReader와 BufferedWriter
•
PrinterWriter
•
CharArrayReader와 CharArrayWriter
•
StringReader와 StringWriter
•
논의
문자단위 IO 클래스
•
입력 클래스는 Reader로 끝난다
•
출력 클래스는 Writer로 끝난다
O bjec t
Reader
BufferedReader
CharArrayReader
FilterReader
InputStreamReader FileReader
PipedReader
StringReader
Writer
BufferedWriter
CharArrayWriter
FilterWriter
OutputStreamWriter FileWriter
PipedWriter
PrintWriter
StringWriter
파일 복사 프로그램
•
실제 목사 프로그램은 FileReader와 FileWriter를 이용하는
것 보다는 FileInputStream과 FileOutputStream을 사용한다.
•
FileCopy
파일
buffer read(buffer)
write(buffer,0, readCount)
CharArrayWriter
•
public char[] toCharArray()
buffer
CharArrayWriter
Char
char[]
toCharArray()
StringWriter
•
public StringBuffer getBuffer()
•
public String toString()
논의
•
자바 IO 클래스의 사용 예제 를 통한 IO 클래스의 이해
제6장 객체 스트림
•
필요성
•
영화 ‘플라이’로 살펴본 객체스트림
•
첫 번째 예제: 생각해볼 문제와 갂단한 예제
•
객체 스트림 소개
•
두 번째 예제: 나의 책 목록
•
마샬링하고 싶지 않은 필드에 대한 처리
•
세 번째 예제: 윈도우 저장과 읽기
•
ObjectOutputStream 클래스의 생성자와 메소드
•
ObjectInputStream클래스의 생성자와 메소드
•
객체 스트림의 예외
•
논의
필요성
•
객체를 파일에 저장하거나 네트워크 젂송 필요
•
멤버 변수를 순서대로 젂송하고 순서대로 받도록 프로그램
을 해야 함.
•
이를 쉽게 하지 위한 것이 객체 스트림 이다.
•
마샬링과 언마샬링의 복잡한 과정을 거친다.
•
RMI(Remote Method Invocation)과 EJB(Enterprisr Java Beans)
의 기본
Marshaling Unmarshaling
저장하는 코드
•
reset() : resource release
object.dat
Vector v writeObject
객체 스트림 소개
•
객체가 젂송되는 것은 참조객체도 같이 젂송
•
객체는 애플릿, 윈도우 등도 젂송된다.
•
Serializable Interface가 구현된 클래스만 가능
• No function defined
• Mark interface
Marshaling Unmarshaling
세 번째 예제: 윈도우 저장과 읽기
•
Serializable 하지 않은 것은 저장되지 않는다.
•
HelloWin: JFrame
논의
•
객체 스트림은 사용하기 쉽다.
•
RMI의 기본 이므로 잘 이해하고 있어야 한다.
•
객체 스트림으로 사용할 클래스는 Serializable이어야 한다
•
객체 스트림을 파일에 저장할 때는 한 파일에 한 객체만 저
장이 가능하다.