您的位置:首页 > 编程语言 > Java开发

java IO(输入输出) 对象的序列化和反序列化

2017-05-09 20:31 405 查看
//对象的序列化
package zhi_jie_liu;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;

public class Example13 {

public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
Person p=new Person("p1","小芳",16);
//创建文件输出对象,将数据写入object.txt文件中
FileOutputStream fos=new FileOutputStream("C:\\Users\\Administrator\\Desktop\\java\\Object.txt");
//创建输出流对象,用于处理输出流对象写入数据
ObjectOutputStream ooS=new ObjectOutputStream(fos);
ooS.writeObject(p);
}

}
//对象的反序列化
class Person implements Serializable{
private String id;
private int age;
private String name;
public Person(String id, String name, int age) {
super();
this.id = id;
this.age = age;
this.name = name;
}

public String getName() {
return name;
}

public String getId() {
return id;
}

public int getAge() {
return age;
}

}

package zhi_jie_liu;

import java.io.*;

public class Example14 {

public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub

//创建文件输入对象,用于读取指定文件数据
FileInputStream fis=new FileInputStream("C:\\Users\\Administrator\\Desktop\\java\\Object.txt");
//创建输入流对象,并且从指定的输入流中读取数据
ObjectInputStream ois=new ObjectInputStream(fis);
Person p=(Person) ois.readObject();
System.out.println("id:"+p.getId());
System.out.println("name:"+p.getName());
System.out.println("age:"+p.getAge());
}

}

class Person implements Serializable{
private String id;
private int age;
private String name;
public Person(String id, String name, int age) {
super();
this.id = id;
this.age = age;
this.name = name;
}

public String getName() {
return name;
}

public String getId() {
return id;
}

public int getAge() {
return age;
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: