Java序列化与反序列化(实践)

 基本概念:序列化是将对象状态转换为可存储或传输的格式的过程。与序列化相对的是反序列化,它将流转换为对象。这两个过程结合起来,可以轻松地存储和传 输数据。  

 
  public class UserBean implements Serializable {
private static final long serialVersionUID = 1L;
private String name;
private int age;
public UserBean (String name, int age){
this.age = age;
this.name = name;
}

public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
} 
}
package com.xuli;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;

public class SerializeToFile {

	
	public void savePerson(){
		try {
			FileOutputStream fos = new FileOutputStream(new File("E:\\temp\\user.txt"));  //file, String
			UserBean user = new UserBean("linzhj",28);
			ObjectOutputStream ops = new ObjectOutputStream(fos);
			ops.writeObject(user);
			ops.flush();
			ops.close();
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
		
	} 
	
	public Object reSavePerson(){
		Object obj  = null;
		try {
			FileInputStream fps = new FileInputStream("E:\\temp\\user.txt");
			ObjectInputStream ois = new ObjectInputStream(fps);
			obj= ois.readObject();
			return obj;
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		}
		return obj;
	}
	
	
	public static void main(String[] args) {
		SerializeToFile stf = new SerializeToFile();
		stf.savePerson();
	 UserBean user	= (UserBean) stf.reSavePerson();
	 System.out.println("name>>>>"+user.getName());
	 System.out.println("age>>>>"+user.getAge());

	}

}
http://www.cnblogs.com/stephencat/archive/2007/06/05/772520.html
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值