第8章java高级编程-3.pptVIP

  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文档。上传文档
查看更多
输入输出 1 输入输出流的概念 大部分程序都需要输入/输出处理,比如从键盘读取数据、向屏幕中输出数据、从文件中读或者向文件中写数据、在一个网络连接上进行读写操作等。在Java中,把这些不同类型的输入、输出源抽象为流(Stream),而其中输入或输出的数据则称为数据流(Data Stream),用统一的接口来表示,从而使程序设计简单明了。 流一般分为输入流(Input Stream)和输出流(Output Stream)两类,但这种划分并不是绝对的。比如一个文件,当向其中写数据时,它就是一个输出流;当从其中读取数据时,它就是一个输入流。当然,键盘只是一个输入流,而屏幕则只是一个输出流。 在Java开发环境中,主要是由包java.io中提供的一系列的类和接口来实现输入/输出处理。标准输入/输出处理则是由包java.lang中提供的类来处理的,但这些类又都是从包java.io中的类继承而来。 输入流:数据提供者,可从中读取数据出来 输出流:数据接收者,可往其中写数据 1. 输入流 通过打开一个到数据源(文件、内存或网络端口上的数据)的输入流,程序可以从数据源上顺序读取数据。 读数据的逻辑为: open a stream while more information read information close the stream 2. 输出流 通过打开一个到目标的输出流,程序可以向外部目标顺序写数据。  自定义输入处理流为FilterInputStream类的子类 import java.io.*; class MyInputStream extends FilterInputStream{ public MyInputStream(InputStream in){ super(in); } public int read() throws IOException{ int b=in.read(); if (b==-1) return -1; // 流结束 else if( Character.isDigit( (char)b) || (char)b ==\n ) return(b); // 数字或回车则直接返回 else return ; // 非数字,则返回空格 } } 2、字节流 ——对象流 Java中的对象也可以用流的方式进行处理,这就称为对象的串行化。 如可把一个对象写入文件,或从文件中读取一个对象,甚至可以把对象通过E-mail或其它方式在网络上传递。 通过两个处理流来实现: 对象输入流java.io.ObjectInputStream 对象输出流java.io.ObjectOutputStream 对象串行化的主要步骤 定义可以用流处理的类 一个类只有实现了Serializable接口,其对象才能够通过流进行输入输出。Serializable接口不需要实现任何方法,因此只要在类名后缀上implements Serializable即可。 创建节点输入/输出流 创建对象处理流ObjectInputStream和ObjectOutputStream 从流中读/写对象 例 将mySer类的对象obj写到文件my.dat中 import java.io.*; class MySer implements Serializable{ int x,y; String s; public MySer(int a,int b,String str){ x=a;y=b;s=str; } public String toString(){ return (+x+, +y+, +s+); } } class TestMySerWrite{ public static void main(String args[])throws IOException{ MySer obj=new MySer(0,0,Hello); FileOutputStream fo=new FileOutputStream(my.dat); ObjectOutputStream oos=new ObjectOutputStream(fo); oos.writeObject(obj); } } 例 将从文件my.dat中的对象读出并显示在屏幕上 class TestMySerRead

文档评论(0)

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

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

1亿VIP精品文档

相关文档