[初一数学]第7章 输入输出.pptVIP

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

第7章 输入输出 7.2 各种输入输出流 从文件中读取 为了让问题一般化,假设我们并不知道文件里保存了多少个这样的记录。 这个时候,怎样判断何时文件结束呢? 通常情况是这样: while((input=in.read()!=-1) {//读入基本类型数据 …. } Or while((input=in.read()!=null){//读入对象 …. } 我们采用下面的结构: try{ //进行读取操作 } catch(EOFException e){ …. } …. 当读到文件末尾时,DataInputStream的方法抛出一个EOFException,这个时候恰好可以让循环终止。 这儿不鼓励使用-1作为文件末尾,因为这是数值流,-1也可能是读入的有效值。 DataInputStream dis=new DataInputStream(new FileInputStream(invoice1.txt)); try{ double price; int unit; StringBuffer str; while(true){ price=dis.readDouble(); dis.readChar(); unit=dis.readInt(); dis.readChar(); char ch=\n; str=new StringBuffer(20); while((ch=dis.readChar())!=\n) str.append(ch); System.out.println(youve ordered +unit+ of +str+ at price: $+price); } }catch(EOFException e){} dis.close(); 5 对象输入输出流和串行化 与前面的各种流不同,这里的流读写的单位不是字节、字符和数值,而是对象。 这样的流有两个: ObjectOutputStream ObjectInputStream 它们也不是连接流,需要建立挂接。 (1) 创建一个FileOutputStream对象 FileOutputStream fs=new FileOutputStream(“a.der”); (2) 创建一个ObjectOutputStream对象 ObjectOutputStream os=new ObjectOutputStream(fs); ObjectOutputStream提供对象输出的功能,但是,它不能直接与文件建立连接。 它需要“挂接”在上面的FileOutputStream之上 将对象写入文件 (3) 输出对象 os.writeObject(d1); os.writeObject(d2); os.writeObject(d3); writeObject是串行化的过程。对象d1,d2,d3分别按照这种方式写到文件里。 (4) 关闭ObjectOutputStream流 os.close(); 关闭os会自动关闭它所挂接的FileOutputStream。 101111011000101111011000 101111011000101111011000 对象 对象的串行化:指的是将对象以位流的形式进行保存的过程。 挂接到 FileOutputStream ObjectOutputStream 文件 输出 writeObject 串行化了的对象 这里,对象变成了位流 在串行化时, 实例变量的值,这构成对象的状态。 一些将用于对象恢复的信息(例如对象的类型等)。 (1)当实例变量是基本类型时,保存的该变量的值。 (2)当实例变量是对象引用时,保存的是什么? 串行化的过程 将以值的形式通过ObjectOutputStream对象传递。根据实例变量的类型,保存的内容有所区别: 所有的实例变量,如果它是引用类型, 那么它所引用的对象(下一级对象)也被串行化。 如果下一级对象仍然包含对象引用,那么那些再下一级的对象仍然被串行化。 这个过程形如链式反应,将一直进行下去,直到再也没有对象遗漏。 class Dogs{ private Dog[] d=new Dog[2]; public Dogs(){

文档评论(0)

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

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

版权声明书
用户编号:5024214302000003

1亿VIP精品文档

相关文档