~~Stream
으로 끝나는 클래스~~Reader
, ~~Writer
로 끝나는 클래스InputStream
read
: byte 하나를 읽어서 int로 반환, 더 이상 값이 없으면 -1 리턴close
: 스트림을 종료하여 자원을 반납UTF-8
을 사용하는 한글의 경우 한 글자가 3byte
이므로 문자가 깨질 수 있다.Reader
read
: char 하나를 읽어서 int로 반환한다. 더 이상 값이 없으면 -1 리턴Filter Stream, Processing Stream
다른 스트림에 부가적인 기능을 제공하는 스트림
파일 데이터 입출력
FileInputStream
FileOutputStream
BufferedInputStream
BufferedOutputStream
문자열 입력
InputStreamReader
→ BufferedReader
메모리 객체 출력
FileOutputStream
→ ObjectOutputStream
BufferedInputStream
BufferedOutputStream
← 8192 사이즈를 가진다.BufferedReader
& BufferedWriter
readLine()
→ 줄 단위로 데이터를 읽어 들임Serializable
인터페이스를 구현할 것Serializable
인터페이스를 구현해야 함transient
선언class Person implements Serializable { // 직렬화를 위해 Serializable 인터페이스
private String name;
private int age;
private transient String ssn; // 직렬화 제외를 위한 transient
private LoginInfo lInfo; // LoginInfo class도 Serializable 인터페이스 구현 필요
}
serialVersionUID
InvalidClassException
초래