- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
解决ObjecOutputStream连续写入对象不能全读出问题
用ObjectOutputStream向一个文件保存对象时
方法一:
Student s1 = new Student(new Date(), Wangshao, 182, 3);
Student s2 = new Student(new Date(), Yaoyuan, 168, 1);
ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(f:/hello3.object,true));
oos.writeObject(s1);
oos.writeObject(s2);
oos.close();
方法二:
public static void main(String[] args) throws Exception {
Student s1 = new Student(new Date(), Wangshao, 182, 3);
write(s1);
Student s2 = new Student(new Date(), Yaoyuan, 168, 1);
write(s2);
}
public static void write(Student s) throws Exception {
ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(f:/hello2.object,true));
oos.writeObject(s);
oos.close();
}
文件中的内容对比:
方法一结果: 方法二结果:
在用下方法连续读两个存进的对象时
ObjectInputStream ois = new ObjectInputStream(new FileInputStream(
f:/hello3.object));
Student s = (Student) ois.readObject();
System.out.println(s);
Student s1 = (Student) ois.readObject();
System.out.println(s1);
方法一存的文件能读成功,方法二保存的文件只能读取出一个,第二个出现StreamCorruptedException异常。
(想要实现连续追加,再追加,需要重写writeObject(Object obj)把追加标识的部分删掉)
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.OutputStream;
import java.util.Date;
public class TestObjectStream {
public static void main(String[] args) throws Exception {
writeObject();
// readObject();
}
//写对象到一个文件, 对象--字符数组 Object流升级了Data流(不是继承),可已实现Data流的功能
public static void writeObject() throws Exception {
Person p = new Person(wangshao, new Date(), 183);
MyObjectOutputStream myStream = MyObjectOutputStream.getInstance(new File(f:/hello.txt), true);
myStream.writeObject(p);
myStream.close();
}
public static void writeObject2() throws Exception {
Person p = new Person(Wangshao, new Date(), 183);
ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(f:/hello4.txt,true));
您可能关注的文档
- 行政伦理与职业德答案.doc
- 行政行为公定力妨害公务.doc
- 行测真题练习7附答案及解析).doc
- 装车计数控制系使用说明书060630.doc
- 裴娣娜编著:《育研究方法导论》笔记.doc
- 襄樊市致远中学站自评报告.doc
- 西北工业参考书13.doc
- 西华师范大学校网用户使用手册.doc
- 西南在线专访爱华商施乃康.doc
- 西安交大《自然证法》重点总结.doc
- 中国国家标准 GB/T 15445.3-2025粒度分析结果的表述 第3部分:试验曲线的参考模型拟合.pdf
- 《GB/T 15445.3-2025粒度分析结果的表述 第3部分:试验曲线的参考模型拟合》.pdf
- 中国国家标准 GB/Z 41305.3-2025环境条件 电子设备振动和冲击 第3部分:利用轨道车辆运输.pdf
- 《GB/Z 41305.3-2025环境条件 电子设备振动和冲击 第3部分:利用轨道车辆运输》.pdf
- GB/Z 41305.3-2025环境条件 电子设备振动和冲击 第3部分:利用轨道车辆运输.pdf
- 中国国家标准 GB/T 46713.4-2025轨道交通 机车车辆 辅助供电系统蓄电池 第4部分:镍氢蓄电池.pdf
- 《GB/T 46713.4-2025轨道交通 机车车辆 辅助供电系统蓄电池 第4部分:镍氢蓄电池》.pdf
- GB/T 46713.4-2025轨道交通 机车车辆 辅助供电系统蓄电池 第4部分:镍氢蓄电池.pdf
- 中国国家标准 GB/Z 106-2025质量管理体系 组织变革管理 过程.pdf
- GB/Z 106-2025质量管理体系 组织变革管理 过程.pdf
原创力文档


文档评论(0)