如何在Java中实现对象的序列化和反序列化

原创 痛定思痛。 2024-10-15 20:27 127阅读 0赞

在Java中,对象的序列化和反序列化通常使用Java的ObjectOutputStream和ObjectInputStream这两个类。

以下是一个简单的例子:

  1. 序列化(将对象转换为字节流)
  1. import java.io.*;
  2. public class Main {
  3. public static void main(String[] args) {
  4. // 创建一个对象
  5. Person person = new Person("John", 30);
  6. // 使用ObjectOutputStream进行序列化
  7. try (ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("person.ser")))) {
  8. oos.writeObject(person);
  9. } catch (IOException e) {
  10. e.printStackTrace();
  11. }
  12. }
  13. }
  14. class Person {
  15. String name;
  16. int age;
  17. public Person(String name, int age) {
  18. this.name = name;
  19. this.age = age;
  20. }
  21. @Override
  22. public String toString() {
  23. return "Person{" +
  24. "name='" + name + '\'' +
  25. ", age=" + age +
  26. '}';
  27. }
  28. }
  1. 反序列化(将字节流转换回对象)
  1. import java.io.*;
  2. public class Main {
  3. public static void main(String[] args) {
  4. // 从文件中读取序列化的字节流
  5. try (ObjectInputStream ois = new ObjectInputStream(new FileInputStream("person.ser")))) {
  6. Person person = (Person) ois.readObject();
  7. System.out.println(person);
  8. } catch (IOException | ClassNotFoundException e) {
  9. e.printStackTrace();
  10. }
  11. }
  12. }

这样,我们就实现了对象的序列化和反序列化。

文章版权声明:注明蒲公英云原创文章,转载或复制请以超链接形式并注明出处。

发表评论

表情:
评论列表 (有 0 条评论,127人围观)

还没有评论,来说两句吧...

相关阅读