Java序列化和反序列化
package bigdata01;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;
//Serializable 是标记接口 表示该类的对象可以被序列号
public class UserSerializable implements Serializable{
private static final long serialVersionUID = 1L;
private int id ;
private String name;
private int age;
public static void main(String[] args) throws InterruptedException, IOException, ClassNotFoundException {
UserSerializable user = new UserSerializable();
user.setAge(10);
user.setId(1);
user.setName("序列号狄如燕");
//把对象写入文件 序列化(编码)
ObjectOutputStream objectOutputStream = new ObjectOutputStream(new FileOutputStream("F:\\test\\a.txt"));
objectOutputStream.writeObject(user);
//读取文件 反序列化(解码)
ObjectInputStream objectInputStream = new ObjectInputStream(new FileInputStream("F:\\test\\a.txt"));
UserSerializable u = (UserSerializable) objectInputStream.readObject();
System.out.println(u.getName());//序列号狄如燕
}
public UserSerializable() {
super();
// TODO Auto-generated constructor stub
}
public UserSerializable(int id, String name, int age) {
super();
this.id = id;
this.name = name;
this.age = age;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
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;
}
}
作者:IT_BULL
出处:http://www.cnblogs.com/itBulls/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
博客园-博客园。