对象序列化和反序列化

柔光的暖阳◎ 2022-06-16 05:17 488阅读 0赞

对象序列化就是将0bject转化成byte序列,反之叫对象的反序列化。

序列化的对象要实现Serializable接口

类:

  1. public class Student implements Serializable{
  2. private static final long serialVersionUID = -5878823330113310798L;
  3. private String stuno;
  4. private String stuname;
  5. private int stuage;
  6. public Student(){
  7. }
  8. public Student(String stuno,String stuname,int stuage){
  9. this.stuno=stuno;
  10. this.stuname=stuname;
  11. this.stuage=stuage;
  12. }
  13. public int getStuage() {
  14. return stuage;
  15. }
  16. public void setStuage(int stuage) {
  17. this.stuage = stuage;
  18. }
  19. public String getStuname() {
  20. return stuname;
  21. }
  22. public void setStuname(String stuname) {
  23. this.stuname = stuname;
  24. }
  25. public String getStuno() {
  26. return stuno;
  27. }
  28. public void setStuno(String stuno) {
  29. this.stuno = stuno;
  30. }
  31. public String toString(){
  32. return "["+stuno+","+stuname+","+stuage+"]";
  33. }
  34. }
  35. public class ObjectSeriaDemo1 {
  36. public static void main(String[] args) throws Exception{
  37. String file="demo/obj.dat";
  38. //1.对象的序列化
  39. /*ObjectOutputStream oos=new ObjectOutputStream(
  40. new FileOutputStream(file)
  41. );
  42. Student stu=new Student("10001","张三",20);
  43. oos.writeObject(stu);
  44. oos.flush();
  45. oos.close();*/
  46. //2.反序列化
  47. ObjectInputStream ois=new ObjectInputStream(
  48. new FileInputStream(file)
  49. );
  50. Student stu=(Student)ois.readObject();
  51. System.out.println(stu);
  52. ois.close();
  53. }
  54. }

[10001,张三,20]

发表评论

表情:
评论列表 (有 0 条评论,488人围观)

还没有评论,来说两句吧...

相关阅读

    相关 对象序列序列

    什么是序列化? 为了把对象的成员属性和成员方法进行持久化的保存,需要把对象转换为字节序列,以便于存储,这个过程就叫序列化。 反之,反序列化就是把字节序列恢复成对象。 1

    相关 对象序列序列

    当程序运行的时候,对象在内存中是存在的,一旦程序结束,那么该对象便从内存中“消失”,如果想实现对象的“持久化存储”,即保存在硬盘中呢?那么就需要通过对象的序列化来实现了;同理,