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 | 29 | 30 |
Tags
- 어노테이션
- 전화걸기
- HTML
- AWT
- OGNL
- Spring
- 안드로이드
- 메서드
- 예외처리
- 국제화
- Menu
- layout
- oracle
- JSP
- 메소드
- mybatis
- Graphic
- 에러페이지
- Android
- Eclips
- 이클립스
- 클래스
- struts2
- JavaScript
- paint
- 오버로딩
- 배열
- 생성자
- Java
- 기본
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 |