java序列化与ObjectOutputStream和ObjectInputStream
程序员文章站
2022-03-01 23:14:03
...
一个测试的实体类:
public class Param implements Serializable { private static final long serialVersionUID = 5187074869820982336L; private Integer param1; private String param2; public Integer getParam1() { return param1; } public void setParam1(Integer param1) { this.param1 = param1; } public String getParam2() { return param2; } public void setParam2(String param2) { this.param2 = param2; } }
测试:
public class Main { public static void main(String[] args) throws Exception { SerializeParam(); Param param = DeserializeParam(); System.out.println(MessageFormat.format("param1={0},param2={1}", param.getParam1(), param.getParam2())); } /** * 将实体类序列化到本地 * @throws FileNotFoundException * @throws IOException */ private static void SerializeParam() throws FileNotFoundException, IOException { Param param = new Param(); param.setParam1(123); param.setParam2("asdf"); ObjectOutputStream oo = new ObjectOutputStream(new FileOutputStream( new File("E:/param.txt") )); oo.writeObject(param); System.out.println("Person对象序列化成功!"); oo.close(); } /** * 反序列化 * @return * @throws Exception * @throws IOException */ private static Param DeserializeParam() throws Exception, IOException { ObjectInputStream ois = new ObjectInputStream(new FileInputStream( new File("E:/param.txt"))); Param param = (Param) ois.readObject(); System.out.println("Person对象反序列化成功!"); ois.close(); return param; } }