객체를 파일 시스템에 저장..
변수 위주로 저장됨.
ArrayList를 저장할 경우 거기에 연결된 데이터형들도 저장되므로 편리.
import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.io.Serializable; class UserInfo implements Serializable { int age; String name; String addr; public UserInfo(int age, String name, String addr) { this.age = age; this.name = name; this.addr = addr; } @Override public String toString() { return "UserInfo [age=" + age + ", name=" + name + ", addr=" + addr + "]"; } } public class SerialExam { public static void main(String[] args) throws Exception { //객체를 파일로 저장하는 단계 ObjectOutputStream os = new ObjectOutputStream ( new BufferedOutputStream ( new FileOutputStream("src/ex0801/io/aaa.ser") ) ); //저장하기 os.writeObject(new UserInfo(20,"홍길동","서울")); os.writeObject(new UserInfo(21,"홍길동2","서울2")); os.writeObject(new UserInfo(22,"홍길동3","서울3")); os.close(); System.out.println("직렬화 완료"); ObjectInputStream ois = new ObjectInputStream ( new BufferedInputStream ( new FileInputStream("src/ex0801/io/aaa.ser") ) ); UserInfo aaa = (UserInfo)ois.readObject(); UserInfo bbb = (UserInfo)ois.readObject(); UserInfo ccc = (UserInfo)ois.readObject(); System.out.println(aaa); System.out.println(bbb); System.out.println(ccc); ois.close(); } }