全国旗舰校区

不同学习城市 同样授课品质

北京

深圳

上海

广州

郑州

大连

武汉

成都

西安

杭州

青岛

重庆

长沙

哈尔滨

南京

太原

沈阳

合肥

贵阳

济南

下一个校区
就在你家门口
+
当前位置:首页  >  技术干货

java的序列化和反序列化

发布时间:2023-03-14 15:46:00
发布人:wjy

  Java序列化是指将一个Java对象转换为一个字节序列,以便将其保存到文件中或通过网络传输到其他计算机。Java反序列化是指将字节序列转换回Java对象。

  Java中实现序列化和反序列化的核心类是ObjectOutputStream和ObjectInputStream。ObjectOutputStream提供了一个方法,可以将Java对象写入输出流中。ObjectInputStream提供了一个方法,可以从输入流中读取Java对象。

  为了使Java对象可序列化,必须在类定义中添加一个特殊的标记接口Serializable。这个接口没有任何方法,它只是指示这个类可以被序列化。

java的序列化和反序列化

  以下是一个简单的例子,展示了如何将一个对象序列化到文件中,然后从文件中反序列化回来:

import java.io.*;

public class SerializationExample {
public static void main(String[] args) {
// Create an object to be serialized
MyClass object = new MyClass("Hello", 123);

// Serialize the object to a file
try (FileOutputStream fos = new FileOutputStream("file.ser");
ObjectOutputStream oos = new ObjectOutputStream(fos)) {
oos.writeObject(object);
} catch (IOException e) {
e.printStackTrace();
}

// Deserialize the object from the file
try (FileInputStream fis = new FileInputStream("file.ser");
ObjectInputStream ois = new ObjectInputStream(fis)) {
MyClass deserializedObject = (MyClass) ois.readObject();
System.out.println(deserializedObject);
} catch (IOException | ClassNotFoundException e) {
e.printStackTrace();
}
}
}

class MyClass implements Serializable {
private String message;
private int number;

public MyClass(String message, int number) {
this.message = message;
this.number = number;
}

public String getMessage() {
return message;
}

public int getNumber() {
return number;
}

@Override
public String toString() {
return "MyClass{" +
"message='" + message + '\'' +
", number=" + number +
'}';
}
}

  在上面的例子中,MyClass实现了Serializable接口,并将其对象序列化到名为“file.ser”的文件中。然后,我们从文件中反序列化对象,并打印出它的内容。注意,在反序列化对象时,必须将Object类型的返回值强制转换为我们的自定义类型MyClass。

相关文章

python写入json文件?

python写入json文件?

2023-11-02
vscode设置tab为4个空格?

vscode设置tab为4个空格?

2023-11-02
更新pycharm?

更新pycharm?

2023-11-02
anaconda每次打开都要安装?

anaconda每次打开都要安装?

2023-11-02

最新文章

武汉新媒体行业公司排名

武汉新媒体行业公司排名

2023-11-01
武汉新媒体就业现状好吗

武汉新媒体就业现状好吗

2023-11-01
武汉全媒体行业发展现状及趋势

武汉全媒体行业发展现状及趋势

2023-10-31
武汉全媒体现状

武汉全媒体现状

2023-10-31
在线咨询 免费试学 教程领取