java io流与序列化反序列化
2020-12-08 23:50
标签:str1 alt pre int idt 读取 equals package mamicode 下面是一个实例,通过例子来将以上来简化学习: java io流与序列化反序列化 标签:str1 alt pre int idt 读取 equals package mamicode 原文地址:https://www.cnblogs.com/LiuOOP/p/10992344.html java的io是实现输入和输出的基础,可以方便的实现数据的输入和输出操作。
序列化 (Serialization)是将对象的状态信息转换为可以存储或传输的形式的过程。在序列化期间,对象将其当前状态写入到临时或持久性存储区。以后,可以通过从存储区中读取或反序列化对象的状态,重新创建该对象。
1.先创建一个学生类来实现serialization:
1 package com.etc;
2
3 import java.io.Serializable;
4
5 public class Student implements Serializable{
6 private int id;
7 private String name;
8 private char sex;
9
10
11 public Student() {
12 super();
13 }
14 public Student(int id, String name, char sex) {
15 super();
16 this.id = id;
17 this.name = name;
18 this.sex = sex;
19 }
20 public int getId() {
21 return id;
22 }
23 public void setId(int id) {
24 this.id = id;
25 }
26 public String getName() {
27 return name;
28 }
29 public void setName(String name) {
30 this.name = name;
31 }
32 public char getSex() {
33 return sex;
34 }
35 public void setSex(char sex) {
36 this.sex = sex;
37 }
38
39 public String show() {
40 return "Student [id=" + id + ", name=" + name + ", sex=" + sex + "]";
41 }
42
43
44 }
2.通过控制台将建立的学生对象保存到集合中,序列化集合写到文件中,在读文件反序列化集合,将学生对象添加到学生集合中,遍历集合
1 package com.etc;
2
3 import java.io.BufferedReader;
4 import java.io.File;
5 import java.io.FileOutputStream;
6 import java.io.IOException;
7 import java.io.InputStreamReader;
8 import java.io.ObjectOutputStream;
9 import java.util.ArrayList;
10 import java.util.List;
11
12 public class 序列化学生集合 {
13 public static void main(String[] args) throws IOException {
14 //创建集合添加学生
15 List
3.反序列化
1 package com.etc;
2
3 import java.io.File;
4 import java.io.FileInputStream;
5 import java.io.FileNotFoundException;
6 import java.io.IOException;
7 import java.io.InputStream;
8 import java.io.InputStreamReader;
9 import java.io.ObjectInputStream;
10 import java.util.ArrayList;
11 import java.util.List;
12
13 public class 反序列化 {
14 public static void main(String[] args) throws IOException, ClassNotFoundException {
15 //创建反序列化集合
16 List
反序列化时,一定要想清楚对方传给自己的是什么信息,例如传来的集合,就新建集合,来将反序列化信息来保存,再通过集合的类型,来将传过来的信息进行重组添加到集合中,最后遍历集合。
上一篇:Python中面向对象初识到进阶
下一篇:PHP引用(&)使用详解