上一主题下一主题
关键字
主题 : 对象的序列化(serialization)类是面向流的,应如何将对象写入到随机存取文件中?
级别: 北风技术员

UID: 466468
精华: 0
发帖: 54
威望: 66 点
学点: -12 点
贡献: 3 点
好评: 0 点
学币: 0 个
注册时间: 2014-05-26
最后登录: 2014-06-06
楼主  发表于: 2014-06-05 10:29||

对象的序列化(serialization)类是面向流的,应如何将对象写入到随机存取文件中?

对象的序列化(serialization)类是面向流的,应如何将对象写入到随机存取文件中?
此帖悬赏中(剩余时间:已结束)...
最佳答案: 1 学点
飘过啦
级别: 北风高级技术员

UID: 467727
精华: 0
发帖: 117
威望: 226 点
学点: 183 点
贡献: 1 点
好评: 0 点
学币: 0 个
注册时间: 2014-06-05
最后登录: 2014-06-05
沙发(1楼)  发表于: 2014-06-05 17:56||

目前,没有直接的方法可以将对象写入到随机存取文件中.但是可以使用ByteArray输入/输出流作为中介,来向随机存取文件中写入或从随机存取文件中读出字节,并且可以利用字节流来创建对象输入/输出流,以用于读写对象.需要注意的是在字节流中要包含一个完整的对象,否则读写对象时将发生错误.
级别: 北风技术员

UID: 467804
精华: 0
发帖: 112
威望: 123 点
学点: 120 点
贡献: 1 点
好评: 0 点
学币: 0 个
注册时间: 2014-06-06
最后登录: 2014-06-06
板凳(2楼)  发表于: 2014-06-06 09:59||

我们可以从随机存取文件中读出字节数组,利用它可构造ByteArrayInputStream,进而构造出ObjectInputStream,以读取对象.
级别: 北风技术员

UID: 466464
精华: 0
发帖: 113
威望: 28 点
学点: 87 点
贡献: 1 点
好评: 0 点
学币: 1 个
注册时间: 2014-05-26
最后登录: 2014-06-06
地板(3楼)  发表于: 2014-06-06 10:36||

目前,没有直接的方法可以将对象写入到随机存取文件中.但是可以使用ByteArray输入/输出流作为中介,来向随机存取文件中写入或从随机存取文件中读出字节,并且可以利用字节流来创建对象输入/输出流,以用于读写对象.需要注意的是在字节流中要包含一个完整的对象,否则读写对象时将发生错误. 例如,j****a.io.ByteArrayOutputStream可用于获取ObjectOutputStream的字节流,从中可得到byte数组并可将之写入到随机存取文件中.相反,我们可以从随机存取文件中读出字节数组,利用它可构造ByteArrayInputStream,进而构造出ObjectInputStream,以读取对象.