ObjectInputStream\ObjectOutputStream用字节流将一个Object对象持久化和读取

本文介绍如何使用Java的ObjectInputStream和ObjectOutputStream实现对象的序列化与反序列化,以完成对象的持久化存储与读取。文章详细展示了通过字节流将一个实现了Serializable接口的自定义对象写入文件,并从文件中读取出来。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;

/*
 * 用字节流将一个Object对象持久化
 * 注:
 * 1.读取的时候不能被new
 * 2.Object必需序列化
 * 3.static的不能被序列化
 * 4.transient也不能被序列化,但它还是存在栈中
 * ObjectInputStream:
 * 可以为应用程序提供对对象图形的持久存储,用于恢复那些以前序列化的对象。
 * bjectOutputStream:
 * 对以前使用 ObjectOutputStream 写入的基本数据和对象进行反序列化
 * 只能将支持 java.io.Serializable 接口的对象写入流中
 * 
 * @author Tangtang
 *
 * 2015-6-1
 */
public class FileDemo6 {

	public static void main(String[] args) throws Exception {
		// 将对象持久化
		// writerObj();
		// 读取持久化类
		readObj();

	}

	public static void readObj() throws Exception {
		// 指定要读取的对象
		ObjectInputStream ois = new ObjectInputStream(new FileInputStream(
				"F:\\Objcet.object"));
		// 将读取的对象转换成员工对象
		FileDemo6_Emp emp = (FileDemo6_Emp) ois.readObject();

		System.out.println(emp);
	}

	public static void writerObj() throws Exception {
		// 创建一个写入流对象(后缀名自定义,反正直接打开了也是乱码)
		ObjectOutputStream ois = new ObjectOutputStream(new FileOutputStream(
				"F:\\Objcet.object"));
		// 创建一个员工实体对象并写入指定文件中
		ois.writeObject(new FileDemo6_Emp("zhangsan", 33));
		// 关闭流
		ois.close();

	}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值