源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

java 序列化对象 serializable 读写数据的实例

  • 时间:2021-07-09 05:54 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:java 序列化对象 serializable 读写数据的实例
序列化对象:
[u]复制代码[/u] 代码如下:
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();  } }
[u]复制代码[/u] 代码如下:
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");    }   }  } }
测试类:
[u]复制代码[/u] 代码如下:
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("读完");  } }
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部