1. 1、本文档共22页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
9_IO流技术概要

(这里只列出常用的类,详情可以参考JDK API文档。红色粗体标注为最常用,必须掌握的!) * 9_IO 讲师:胡琦光 本章概述 IO流的原理及概念 IO流的分类 IO流类的体系 字节流和字符流 处理流 File类 文件拷贝 流的原理 A 文件 00101… … … 程序 文件 … … …00101 程序 网路连接 程序 0010111… … … 程序 程序 010… 010… 文件 010… 程序 “hello” 在Java程序中,对于数据的输入/输出操作以“流” (stream) 方式进行;J2SDK提供了各种各样的“流”类,用以获取不同种类的数据;程序中通过标准的方法输入或输出数据。 流的概念 A 数据源 data source. 提供原始数据的原始媒介。常见的:数据库、文件、其他程序、内存、网络连接、IO设备。 数据源就像水箱,流就像水管中流着的水流,程序就是我们最终的用户。 流是一个抽象、动态的概念,是一连串连续动态的数据集合。 文件读取 举例 当程序需要读取数据源的数据时,就会通过IO流对象开启一个通向数据源的流,通过这个IO流对象相关方法可以顺序读取?流中的数据。(同理,通过流向目的地写入数据通过流来处理) 代码 Test1.java 升级为较标准代码:Test2.java 增加数组缓存,提高效率: Test3.java 流的分类 A 流的方向: 输入流:数据源到程序(InputStream、Reader读进来) 输出流:程序到目的地(OutPutStream、Writer写出去) 处理数据单元: 字节流:按照字节读取数据(InputStream、OutputStream) 字符流:按照字符读取数据(Reader、Writer) 功能不同: 节点流:可以直接从数据源或目的地读写数据。 处理流:不直接连接到数据源或目的地,是处理流的流。通过对其他流的处理提高程序的性能。 节点流和处理流的关系: 节点流处于io操作的第一线,所有操作必须通过他们进行;处理流可以对其他流?进行处理(提高效率或操作灵活性). 程序 数据源 节点流 数据源 程序 处理流 程序 数据源 IO流类的体系 四个基本抽象类 A InputStream: OutputStream: Reader: Writer: InputStream OutputStream A InputStream 此抽象类是表示字节输入流的所有类的超类。InputSteam是一个抽象类,它不可以实例化。数据的读取需要由它的子类来实现。根据节点的不同,它派生了不同的节点流子类 。 继承自InputSteam的流都是用于向程序中输入数据,且数据的单位为字节(8 bit); OutputStream 此抽象类是表示输出字节流的所有类的超类。输出流接受输出字节并将这些字节发送到某个接收器。 FileInputStream和FileOutputStream A FileInputStream用于读取诸如图像数据之类的原始字节流。要读取字符流?,请考虑使用 FileReader。 (处理文本的话使用字符流) 示例代码:TestFileStream.java 将文件内容读入到程序中: testInputStream() 将字符串/字节数组的内容写入到文件中:testOutputStream(); 实现文件内容copy: copyFile(String src,String dec) ByteArrayInutStream和ByteArrayOutputStream C ByteArrayInutStream和ByteArrayOutputStream 数据源或目的地为:字节数组 字节缓冲流 A BufferedInputStream和BufferedOutputStream 是处理流 通过内部缓存数组来提高操作流的效率。 DataInputStream和DataOutputStream C DataInputStream和DataOutputStream 提供了可以存取所有Java基础类型数据(如:int,double 等)的方法 对象的序列化和反序列化 B ObjectInputStream和ObjectOutputStream 数据源或目的地是:对象! 打印流 B PrintWriter和PrintStream的输出操作不会抛出异常,用户通过检测错误状态获取错误信息。 System.out 就是打印流 字符流 Reader和Writer A Reader: 用于读取字符流的抽象类,数据单位为字符。 Writer: 写入字符流的抽象类。 字

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档