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;
}


}

posted @ 2018-12-17 22:22  马鞍山  阅读(138)  评论(0编辑  收藏  举报