首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Java序列化和反序列化

package unit5;

import java.io.*;

public class Java43 {

// 序列化:对象 ——> 文件

static void m1() throws IOException {

Per p1 = new Per("张三", 30);

File file = new File("d:/per.txt");

ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(file));

oos.writeObject(p1);

oos.close();

}

// 反序列化:文件 ——> 对象

static void m2() throws IOException, ClassNotFoundException {

File file = new File("d:/per.txt");

ObjectInputStream ois = new ObjectInputStream(new FileInputStream(file));

Object o = ois.readObject();

Per per = (Per)o;

}

public static void main(String[] args) throws IOException, ClassNotFoundException {

// IO序列化、反序列化

// 注意:static不会被序列化。

// 注意:transient:被transient这个关键字修饰不会被序列化

// 序列化:对象 ——> 文件

// 把java对象以字节形式保存在磁盘文件中的过程。

//m1();

// 反序列化:文件 ——> 对象

// 把保存在磁盘中的java对象重新转换为内存中的java对象。

m2();

}

}

// 要实现序列化功能、类必须实现序列化接口(Serializable 标识接口)

class Per implements Serializable {

String name;

transient int age;

public Per(String name, int age) {

this.name = name;

this.age = age;

}

@Override

public String toString() {

return "Per{" +

"name='" + name + '\'' +

", age=" + age +

'}';

}

}

  • 发表于:
  • 原文链接https://page.om.qq.com/page/ORcnkSCwVU5s597RMNoh7TwA0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券