zoukankan      html  css  js  c++  java
  • java 序列化对象 serializable 读写数据

    序列化对象:

    package com.chen.seriaizable;
    
    import java.io.Serializable;
    import java.util.List;
    
    @SuppressWarnings("serial")
    public class Student implements Serializable
    {
     private String name;
     
     private String id;
     
     private int age;
     
     private List<Student> students;
    
     public String getName()
     {
      return name;
     }
    
     public void setName(String name)
     {
      this.name = name;
     }
    
     public String getId()
     {
      return id;
     }
    
     public void setId(String id)
     {
      this.id = id;
     }
    
     public int getAge()
     {
      return age;
     }
    
     public void setAge(int age)
     {
      this.age = age;
     }
    
     public List<Student> getStudents()
     {
      return students;
     }
    
     public void setStudents(List<Student> students)
     {
      this.students = students;
     }
    
     @Override
     public String toString()
     {
      StringBuffer stringBuffer = new StringBuffer();
      stringBuffer.append("id:" + this.id).append("\n");
      stringBuffer.append("name:" + this.name).append("\n");
      stringBuffer.append("age:" + this.age).append("\n");
      
      return stringBuffer.toString();
     }
    }
    package com.chen.seriaizable;
    
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.ObjectInputStream;
    import java.io.ObjectOutputStream;
    import java.util.ArrayList;
    import java.util.List;
    
    public class SaveStudent
    {
     private Student student;
     // 序列化文件保存位置
     private String path = "C:/student.Serializable";
     
     public void writeStudent()
     {
      List<Student> students = new ArrayList<Student>();
      student = new Student();
      
      Student student1 = new Student();
      student1.setAge(1);
      student1.setId("1");
      student1.setName("张1");
      students.add(student1);
      
      Student student2 = new Student();
      student2.setAge(2);
      student2.setId("2");
      student2.setName("张2");
      students.add(student2);
      
      Student student3 = new Student();
      student3.setAge(3);
      student3.setId("3");
      student3.setName("张3");
      students.add(student3);
      
      Student student4 = new Student();
      student4.setAge(4);
      student4.setId("4");
      student4.setName("张4");
      
      Student student41 = new Student();
      student41.setAge(41);
      student41.setId("41");
      student41.setName("张41");
      List<Student> students4 = new ArrayList<Student>();
      students4.add(student41);
      
      student4.setStudents(students4);
      
      students.add(student4);
      
    
      student.setAge(500);
      student.setId("100");
      student.setName("张A000");
      student.setStudents(students);
      try
      {
       ObjectOutputStream objectOutputStream = new ObjectOutputStream(new FileOutputStream(path));
       
       objectOutputStream.writeObject(student);
       
       objectOutputStream.close();
      }
      catch (IOException e)
      {
       // TODO Auto-generated catch block
       e.printStackTrace();
      }
      System.out.println("写完");
     }
     
     public void readStudent()
     {
      try
      {
       ObjectInputStream objectInputStream = new ObjectInputStream(new FileInputStream(path));
       
       student = (Student) objectInputStream.readObject();
       
       System.out.println(student.getAge());
       
       objectInputStream.close();
      }
      catch (Exception e)
      {
       e.printStackTrace();
      }
      System.out.println("读完");
     }
     
     @Override
     public String toString()
     {
      readStudent();
      StringBuffer stringBuffer = new StringBuffer(100);
      
      studentToString(stringBuffer, student);
      
      return stringBuffer.toString();
     }
     
     public void studentToString(StringBuffer stringBuffer, Student studentObj)
     {
      if (student != null)
      {
       stringBuffer.append("id:" + studentObj.toString()).append("\n");
       if (studentObj.getStudents() != null)
       {
        stringBuffer.append("\n[\n");
        for (Student bean : studentObj.getStudents())
        {
         studentToString(stringBuffer, bean);
        }
        stringBuffer.append("\n]\n");
       }
      }
     }
    
    }

    测试类:

    package com.chen.seriaizable;
    
    public class Test
    {
     /**
      * @param args
      */
     public static void main(String[] args)
     {
      SaveStudent saveStudent = new SaveStudent();
      // 1 先执行写入文件
    //  saveStudent.writeStudent();
      // 2 再读取
      System.out.println(saveStudent);
      System.out.println("读完");
     }
    
    }
  • 相关阅读:
    随机获取Mysql数据表的一条或多条记录
    swap 释放
    linux sed
    mongodb url
    mysql doc
    mysql 8.0 主从复制的优化
    innobackupex 远程备份
    MySQL 8.0新特性:彻底解决困扰运维的复制延迟问题
    pycharm 激活码及使用方式
    MySQL运行内存不足时应采取的措施?
  • 原文地址:https://www.cnblogs.com/a393060727/p/2942306.html
Copyright © 2011-2022 走看看