java基于bean序列化和反序列化代码
Bean序列化是将Java对象序列化为字节数组的过程,以便在网络传输或持久化存储时使用。反序列化则是将字节数组反序列化为Java对象的过程。
以下是Java基于Bean序列化和反序列化的代码示例:
- Bean类
import java.io.Serializable;
public class Person implements Serializable {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
@Override
public String toString() {
return "Person{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
}
- 序列化代码
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.ObjectOutputStream;
public class SerializeDemo {
public static void main(String[] args) throws IOException {
Person person = new Person("Tom", 18);
// 创建字节数组输出流
ByteArrayOutputStream baos = new ByteArrayOutputStream();
// 创建对象输出流
ObjectOutputStream oos = new ObjectOutputStream(baos);
// 将对象序列化到字节数组输出流中
oos.writeObject(person);
// 关闭对象输出流
oos.close();
// 获取序列化后的字节数组
byte[] bytes = baos.toByteArray();
System.out.println("序列化后的字节数组:" + bytes.length);
}
}
- 反序列化代码
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
public class DeserializeDemo {
public static void main(String[] args) throws IOException, ClassNotFoundException {
byte[] bytes = { -84, -19, 0, 5, 116, 0, 3, 84, 111, 109, 0, 3, 49, 56 };
// 创建字节数组输入流
ByteArrayInputStream bais = new ByteArrayInputStream(bytes);
// 创建对象输入流
ObjectInputStream ois = new ObjectInputStream(bais);
// 将字节数组反序列化为对象
Person person = (Person)ois.readObject();
// 关闭对象输入流
ois.close();
System.out.println(person);
}
}
原文地址: http://www.cveoy.top/t/topic/seC 著作权归作者所有。请勿转载和采集!