序列化对象:
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("读完"); } }
更多java 序列化对象 serializable 读写数据的实例相关文章请关注PHP中文网!
相关文章:
声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章
刺客信条阴影:贝壳谜语解决方案
3 周前ByDDD
Windows 11 KB5054979中的新功能以及如何解决更新问题
2 周前ByDDD
在哪里可以找到原子中的起重机控制钥匙卡
3 周前ByDDD
节省R.E.P.O.解释(并保存文件)
1 个月前By尊渡假赌尊渡假赌尊渡假赌
刺客信条阴影 - 如何找到铁匠,解锁武器和装甲定制
4 周前ByDDD

热工具

记事本++7.3.1
好用且免费的代码编辑器

SecLists
SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

PhpStorm Mac 版本
最新(2018.2.1 )专业的PHP集成开发工具

Atom编辑器mac版下载
最流行的的开源编辑器

ZendStudio 13.5.1 Mac
功能强大的PHP集成开发环境