2012-11-08 ObjectInputStream与ObjecOutputStream使用.docVIP

2012-11-08 ObjectInputStream与ObjecOutputStream使用.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2012-11-08 ObjectInputStream与ObjecOutputStream使用

?ObjectInputStream与ObjecOutputStream 这两个类是用于存储和读取对象的输入输出流类,不难想象,我们只要把对象中的所有成员变量都存储起来,就等于保存了这个对象,我们只要读取到一个对象中原来保存的所有成员变量的取值,就等于读取到了一个对象。ObjectInputStream与ObjecOutputStream类,可以帮我们完成保存和读取对象成员变量取值的过程,但要读写或存储的对象必须实现了Serializable接口,Serializable接口中没有定义任何方法,仅仅被用作一种标记,以被编译器做特殊处理。ObjectInputStream与ObjecOutputStream类不会保存和读取对象中transient和static类型的成员变量,使用ObjectInputStream与ObjecOutputStream类保存和读取对象的机制叫序列化。 public class TestObjectInputStream implements Serializable { public transient Thread t; private static final long serialVersionUID = 1L; private int total; } 在TestObjectInputStream类的实例对象被序列化时,成员变量t不会被保存和存取。 序列化的好处在于:它可以将任何实现了Serializable接口的对象转换为连续的字节数据,这些数据以后仍可以被还原为原来的对象状态,即使这些数据通过网络传输也没问题。 序列化能处理不同操作系统上差异,我们可以再Windows上长生某个对象,将它序列化存储,人后通过网络传到Linux及其上,该对象仍然可以被正确重建起来,在这期间,我们完全不用担心不同机器上的不同数据表示方式。 案例:创建一个学生对象(主要包括学号,姓名,语文成绩,数学成绩,英语成绩),并把它输出到(“D:\\stu.txt”)文件中,然后再把该对象读出来,将其还原后打印出其中所有学生的信息来(平均成绩保留两位小数)。 程序清单1:Student.java import java.io.Serializable; import java.text.DecimalFormat; public class Student implements Serializable { private String sNo; // 学号,所有学生的学号不能一样 private String sName; // 姓名 private float cScore; // 语文成绩 private float mScore; // 数学成绩 private float eScore; // 英语成绩 private static final long serialVersionUID = 1L; public Student() { } public Student(String sNo, String sName, float cScore, float mScore,float eScore) { this.sNo = sNo; this.sName = sName; this.cScore = cScore; this.mScore = mScore; this.eScore = eScore; } public String getSNo() { return sNo; } public void setSNo(String no) { this.sNo = no; } public String getSName() { return sName; } public void setSName(String name) { this.sName = name; } public float getCScore() { return cScore; } public void setCScore(float score) { this.cScore = score; } public float getMScore() { return mScore; } public void setMScore(float score) { this.mScore = score; } public float getEScore() { return eScore; } public void setEScore(float score) { this.eScore = score;

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档