- 1、本文档共24页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Java SE 第八讲 Java中的I/O File 文件和目录路径名的抽象表示形式 字节输入输出流 I/O 类库中通常使用“流(stream)”这个抽象概念,它代表任何有能力产出数据的数据源对象或者是有能力接收数据的接收端对象。“流”屏蔽了实际的 I/O 设备中处理数据的细节。 在Java 1.0 中,类库的设计者首先限定与输入有关的所有类都应该从 InputStream 继承,而与输出有关的所有类都应该从OutputStream 继承 。 InputStream及其子类型 原始字节输入流处理器 ByteArrayInputStream:为多线程的通信提供缓冲区操作功能,接收一个Byte数组作为流的源。 FileInputStream:建立一个与文件有关的输入流,接收一个File对象作为流的源。 PipedInputStream:可以与PipedOutputStream配合使用,用于读入一个数据管道的数据,接收一个PipedOutputStream作为源。 StringBufferInputStream:将一个字符传缓冲区转换为一个输入流,接收一个String对象作为流的源。 FileInputStreamDemo 链接字节输入流处理器 FilterInputStream称为过滤输入流,它将另一个输入流作为源,这个类的子类包括以下几种: BufferedInputStream:用来从硬盘将数据读入到一个内存缓冲区,并从此缓冲区提供数据。 DataInputStream:提供基于多字节的读取方法,可以读取原始数据类型的数据。 PushbackInputStream:提供特殊的功能,可以将已经读取的字节“推回”到输入流中。 ObjectInputStream:可以将使用ObjectOutputStream串行化的原始数据类型和对象从新并行化。 SequenceInputStream:可以将两个已有的输入流连接起来,形成一个输入流,从而将多个输入流排列成一个输入流序列。 OutputStream及其子类型 原始字节输出流处理器 ByteArrayOutputStream:为多线程的通信提供缓冲区操作功能,输出流的汇集是一个Byte数组。 FileOutputStream:建立一个与文件有关的输出流,输出流的汇集是一个File对象。 PipedOutputStream:可以与PipedInputStream配合使用,用于向一个数据管道输出数据。 FileOutputStreamDemo 链接字节输出流处理器 FilterOutputStream称为过滤输出流,它将另一个输出流作为流汇,这个类的子类包括以下几种: BufferedOutputStream:用来向一个内存缓冲区写出数据,并将此缓冲区的数据输出到硬盘中。 DataOutputStream:提供基于多字节的写出方法,可以写出原始数据类型的数据。 PrintStream:用于产生格式化输出,System.out就是一个PrintStream。 ObjectOutputStream:可以将原始数据类型和对象串行化。 Object序列化 “装饰器(Decorator)”类 通过FilterInputStream从InputStream中读入数据.其中 DataInputStream可以对各种基本数据类型以及String 对象格式化到“流”中,以便在任何机器上的任何DataInputStream都能够读取它们。 与DataInputStream对应的是 DataOutputStream.我们几乎对所有的输入/输出操作进行缓冲,不管是什么样的IO设备或是String,Array这样的输入.可以使用BufferedInputStream防止每次读取时都得进行实际写操作 。 字符输入输出流 Java 1.1 对基本的 I/O“流”类库进行了重大的修改.新增了Reader 和 Writer 类,但是并不是用来替代InputStream 和 OutputStream的。 尽管一些原始的“流”类库不再被使用(如果使用它们,则会收到编译器的警告信息),大部分情况可以使用Reader和Writer类代替,但是 InputStream 和 OutputStream在以面向字节形式的 I/O 中仍可以提供极有价值的功能,Reader 和 Writer 则提供兼容 Unicode 与面向字符的 I/O 的功能。 Reader 和 Writer类的设计继承层次结构主要是为了国际化.老的 I/O 流继承层次结构仅支持8 位字节流,并且不能很好地处理 16位的 Unicode 字符 。 Reader及其子类型 原始字符输入流处理器 CharArrayReader:为多线程的通信提供缓冲区操作功能。 Inpu
文档评论(0)