티스토리 뷰

728x90
  • 객체를 주고받기 위해 직렬화 시키고 직렬화를 위해서 Serializable을 implements 하는 것

public class ObjectStreamSampleData implements Serializable {

 public String str;

 public int id;

 public ObjectStreamSampleData(String str, int id) {

  this.str = str;

  this.id = id;

 }

 public String getObjectStreamSampleData(){

  return id + "=" + str;

 }

}
public class ObjectStreamHandle {

 public static void main(String\[\] args) throws Exception {

  FileOutputStream fos = new FileOutputStream("d:/serial.dat");

  ObjectOutputStream oos = new ObjectOutputStream(fos);

  ObjectStreamSampleData s1 = new ObjectStreamSampleData("홍길동", 1004);

  ObjectStreamSampleData s2 = new ObjectStreamSampleData("김삿갓", 1005);

  oos.writeObject(s1);

  oos.writeObject(s2);

  oos.close();

  System.out.println(s1 + ":" + s1.getObjectStreamSampleData());

  System.out.println(s2 + ":" + s2.getObjectStreamSampleData());

  FileInputStream fis = new FileInputStream("d:/serial.dat");

  ObjectInputStream ois = new ObjectInputStream(fis);

  ObjectStreamSampleData sd1 = (ObjectStreamSampleData)ois.readObject();

  ObjectStreamSampleData sd2 = (ObjectStreamSampleData)ois.readObject();

  ois.close();

  System.out.println(sd1 + ":" + sd1.getObjectStreamSampleData());

  System.out.println(sd2 + ":" + sd2.getObjectStreamSampleData());

 }

}

객체를 만들어서 이것을 ObjectOutputStream을 통해 파일로 쓰고 이 파일로 부터 읽어 들여온다.

'Java' 카테고리의 다른 글

[java] already loaded in another classloader 에러 해결 방법  (0) 2021.06.29
댓글