package Serialize;
import java.io.*;
/**
- 序列化与反序列化
- 注意:对象的序列化与反序列化使用的类要严格一致,包名,类名,类机构等等所有都要一致
*/
public class Test {
public static void main(String[] args) {
try {
// Test.testSerialize(“F:\Java_project_new\src\Serialize\tt.txt”);
Test.testDeserialize(“F:\Java_project_new\src\Serialize\tt.txt”);
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 对象的序列化
*/
//F:\Java_project_new\src\Serialize\tt.txt
public static void testSerialize(String output) throws Exception {
//定义对象的输出流,把对象的序列化之后的流放到指定的文件中
ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream(output));
Serialize ser = new Serialize();
ser.name="tom";
ser.age=18;
out.writeObject(ser); //将对象写入到内存
out.flush(); //将对象刷到硬盘
out.close();
}
/**
* 对象的反序列化
*/
public static void testDeserialize(String Input) throws Exception{
//创建对象输入流 从指定的文件中把对象序列化后的流读取出来
ObjectInputStream in = new ObjectInputStream(new FileInputStream(Input));
// Object obj = in.readObject();
// Serialize ser = (Serialize)obj;
Serialize ser = (Serialize) in.readObject();
System.out.println(ser.name);
System.out.println(ser.age);
in.close();
}
}