网站优化

网站优化

Products

当前位置:首页 > 网站优化 >

学习ObjectInputStream,能轻松掌握Java对象序列化?

GG网络技术分享 2025-11-13 14:14 1


根据上文内容,

  1. Java对象序列化和反序列化是通过用ObjectOutputStream和ObjectInputStream类实现的。ObjectOutputStream用于将对象序列化到文件或其他输出流中,而ObjectInputStream用于从文件或其他输入流中反序列化对象。

  2. 序列化的对象非...不可实现java.io.Serializable接口或java.io.Externalizable接口。

  3. ObjectOutputStream和ObjectInputStreamNeng处理基本数据类型,也Neng处理实现了Serializable接口的对象。

  4. 不Neng序列化static或transient修饰的成员变量。

  5. 用ObjectOutputStream时 需要用writeObject方法将对象写入输出流;用ObjectInputStream时需要用readObject方法从输入流中读取对象。

  6. Neng用ByteArrayOutputStream和ByteArrayInputStream包装ObjectOutputStream和ObjectInputStream, 实现将对象序列化成字节数组,然后再将字节数组反序列化成对象。

  7. 文章中提到了IOUtils和ByteArrayUtils这两个常用的工具类,它们给了序列化和反序列化对象的便捷方法。

java import java.io.*;

public class SerializeObject { public static void main throws IOException, ClassNotFoundException { File file = new File; Student studentSrc = new Student; writeObjectToFile; Student studentDst = readObjectFromFile; System.out.println; }

public static void writeObjectToFile throws IOException {
    try )) {
        oos.writeObject;
    }
}
public static Student readObjectFromFile throws IOException, ClassNotFoundException {
    try )) {
        return  ois.readObject;
    }
}

}

class Student implements Serializable { private String name; private int age;

public Student {
    this.name = name;
    this.age = age;
}
@Override
public String toString {
    return "Student{" +
            "name='" + name + '\'' +
            ", age=" + age +
            '}';
}

}

在这玩意儿例子中,我们先说说创建了一个Student对象,然后用writeObjectToFile方法将其序列化并写入文件。接下来我们用readObjectFromFile方法从文件中读取并反序列化这玩意儿对象。

标签:

提交需求或反馈

Demand feedback