Core Java 经典教程十四.docVIP

  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文档。上传文档
查看更多
Core Java 经典教程十四

ObjectInputStream和ObjectOutputStream(对象流) 对象流是过滤流,需要节点流作参数来构造对象。用于直接把对象写入文件和从文件读取对象。只有实现了Serializable接口的类型的对象才可以被读写,Serializable接口是个标记接口,其中没有定义方法。对象会序列化成一个二进制代码。 writeObject(o), Object readObject()这两个是对象读写操作时用的方法。 Object o = new Object(); FileOutputStream fos=new FileOutputStream(Object.txt); ObjectOutputStream oos=new ObjectOutputStream(fos); oos.writeObject(o); oos.close(); FileInputStream fis =new FileInputStream(“Object.txt”); ObjectInputStream ois =new ObjectInputStream(fis); Object o = (Object)Ois.readObject(); ois.close(); 对象流读取结束返回 EOFException异常对象。 一个类中有其他类型的对象,那么,这个类实现了Serializable接口,在对象序列化时,也同样要求这个类中属性都能够对象序列化(基本类型除外)。 注意:对于对象流的操作,在写对象时要一次写入完毕,如果使用追加模式写入,只会读取到上一次写入的对象,使用对象流写入时,会先写入一个头部,然后写入数据,最后加上结束符号,如果使用追加方式写入的话,那就会在结束符号继续向下写入,但是在读取时只会读到结束符为止,以后再次写入的数据就会丢失。 注意:在使用对象流写入对象时要一次向文件写入,不能够采用追加方式。 serialver命令判断是否一个属性或对象可序列化, serialver TestObject(TestObject必须为已经编译,也就是.class) 执行结果:如果不可序列化;则出现不可序列化的提示。如果可以序列化,那么就会出现序列化的ID:UID。 Externalizable这是Serializable的子接口,他可以让用户自定义如何序列化对象。 readExternal(ObjectInput in),writeExternal(ObjectOutput out)这是这个接口中的两个方法,通过这两个方法可以定制序列化过程。这个方法不安全,可以调用以上两个方法改变对象的状态。 transient只能用来修饰属性。表示这个属性在对象序列化时将被忽略。 transient int num; 表示当我们对属性序列化时忽略这个属性(即忽略不使之持久化)。所有属性必须都是可序列化的,特别是当有些属性本身也是对象的时候,要尤其注意这一点。 java.util.StringTokenizer类,这个类是用于字符串截取的。 StringTokenizer(参数1,参数2)按某种符号隔开文件 StringTokenizer(s,”:”) 用“:”隔开字符,s为对象。 补充:字节流结束返回-1,字符流结束返回null,对象流结束返回 EOFException 引申---------〉异常经常被用在流程控制, 异常也是方法的一种返回形式。 例: import java.io.*; public class TestObjectStream { public static void main(String[] args) throws Exception{ // TODO Auto-generated method stub FileOutputStream fo=new FileOutputStream(student.dat); ObjectOutputStream out=new ObjectOutputStream(fo); Student s=new Student(20,Liucy); out.writeObject(s); out.close(); FileInputStream fi=new FileInputStream(student.dat); ObjectInputStream in=new ObjectInputStream(fi); Object o=in.readObject(); System.out.println(o); } } class Student i

文档评论(0)

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

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

1亿VIP精品文档

相关文档