序列化:将对象写入文件,对象要继承serializable实现接口
private static void xulihua() { Student st = new Student(); st.setId(1000); st.setName("测试"); st.setSex("男"); st.setHp(100); ObjectOutputStream oos = null; try { OutputStream os = new FileOutputStream("f:\\stu.dat"); oos = new ObjectOutputStream(os); st.setHp(50); System.out.println(".....保存游戏进度......"); System.out.println("被弄死了......"); System.out.println("Game over....."); oos.writeObject(st); oos.flush(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { if (oos != null) { try { oos.close(); } catch (IOException e) { e.printStackTrace(); } } }
反序列化:对象不能改变
private static void reload(){ ObjectInputStream ois=null; try { InputStream in=new FileInputStream("f:\\stu.dat"); ois=new ObjectInputStream(in); Student stu=(Student) ois.readObject(); System.out.println(stu.toString()); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } catch (ClassNotFoundException e) { e.printStackTrace(); }finally{ if(ois!=null){ try { ois.close(); } catch (IOException e) { e.printStackTrace(); } } } }
来源:https://www.cnblogs.com/by-1642146903/p/7077369.html