Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- mybatis
- 안드로이드
- 전화걸기
- Java
- Menu
- 메소드
- paint
- 배열
- OGNL
- JavaScript
- Spring
- 클래스
- Graphic
- Android
- 이클립스
- JSP
- AWT
- 생성자
- HTML
- 국제화
- Eclips
- struts2
- 어노테이션
- 메서드
- oracle
- 에러페이지
- 기본
- 오버로딩
- layout
- 예외처리
Archives
- Today
- Total
note
직렬화 본문
package com.serial; import java.io.Serializable; //Serializable 인터페이스를 구현하는 것은 해당클래스가 직렬화 대상임을 명시하는 역할 public class Customer implements Serializable{ //멤버 변수 private String name; //생성자 public Customer(String name){ this.name=name; } public void setName(String name){ this.name=name; } public String getName(){ return name; } //Object to String()재정의 public String toString(){ return "당신의 이름: "+name; } public static void main(String[] args) { } }
package com.serial; import java.io.ObjectOutputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.ObjectInputStream; import java.io.FileInputStream; public class ObjectInOutputStreamEx { public static void main(String[] args) { ObjectOutputStream oos=null; FileOutputStream fos=null; ObjectInputStream ois=null; FileInputStream fis=null; try{ fos=new FileOutputStream("Object.ser"); //객체 직렬화 oos=new ObjectOutputStream(fos); oos.writeObject(new Customer("홍길동")); fis=new FileInputStream("object.ser"); ois=new ObjectInputStream(fis); Customer m=(Customer)ois.readObject(); System.out.println(m); }catch(IOException ioe){ ioe.printStackTrace(); }catch (ClassNotFoundException cnfe){ cnfe.printStackTrace(); }finally{ try{ if(oos!=null)oos.close(); if(fos!=null)fos.close(); if(ois!=null)ois.close(); if(fis!=null)fis.close(); }catch(IOException ioe){ ioe.printStackTrace(); } } } }
package com.serial; import java.io.Serializable; public class UserInfo implements Serializable{ String id; String password; int num; public UserInfo(String id, String password,int num){ this.id= id; this.password= password; this.num= num; } @Override public String toString(){ return "UserInfo {id="+id+", password ="+ password+", num="+num+"}"; } }
package com.serial; import java.util.ArrayList; import java.io.FileOutputStream; import java.io.ObjectOutputStream; import java.io.IOException; public class SerialEx1 { public static void main(String[] args) { try{ String fileName = "UserInfo.ser"; FileOutputStream fos = new FileOutputStream(fileName); ObjectOutputStream out = new ObjectOutputStream(fos); UserInfo u1 =new UserInfo("JavaMan","1234",30); UserInfo u2 =new UserInfo("JavaWoMan","4321",26); ArrayList list = new ArrayList(); list.add(u1); list.add(u2); //객체를 직렬화 한다. out.writeObject(u1); out.writeObject(u2); out.writeObject(list); out.close(); fos.close(); System.out.println("직렬화가 잘 끝났습니다."); }catch(IOException e){ e.printStackTrace(); } }//main }//class
package com.serial; import java.util.ArrayList; import java.io.ObjectInputStream; import java.io.FileInputStream; import java.io.IOException; public class SerialEx2 { public static void main(String[] args) { try{ String fileName = "UserInfo.ser"; FileInputStream fis = new FileInputStream(fileName); ObjectInputStream in = new ObjectInputStream(fis); //객체를 읽을때는 출력한 순서와 일치해야 한다. UserInfo u1 = (UserInfo)in.readObject(); UserInfo u2 = (UserInfo)in.readObject(); ArrayList list = (ArrayList)in.readObject(); System.out.println(u1); System.out.println(u2); System.out.println(list); in.close(); fis.close(); }catch(Exception e){ e.printStackTrace(); } }//main }//class
'자바 > 입출력' 카테고리의 다른 글
File 생성 및 변경 (2) | 2012.01.02 |
---|---|
FileEx4 (0) | 2012.01.02 |
디렉토리 정보 (0) | 2012.01.02 |
입출력으로 파일 상세정보 (0) | 2012.01.02 |
키보드에서 입력받은 내용을 파일에 기록하기 (0) | 2012.01.02 |