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("读完");
     }
    
    }
  • 相关阅读:
    jQuery EasyUI API 中文文档 数字框(NumberBox)
    jQuery EasyUI API 中文文档 数值微调器(NumberSpinner)
    jQuery EasyUI API 中文文档 日期时间框(DateTimeBox)
    jQuery EasyUI API 中文文档 微调器(Spinner)
    jQuery EasyUI API 中文文档 树表格(TreeGrid)
    jQuery EasyUI API 中文文档 树(Tree)
    jQuery EasyUI API 中文文档 属性表格(PropertyGrid)
    EntityFramework 数据操作
    jQuery EasyUI API 中文文档 对话框(Dialog)
    jQuery EasyUI API 中文文档 组合表格(ComboGrid)
  • 原文地址:https://www.cnblogs.com/a393060727/p/2942306.html
Copyright © 2011-2022 走看看