- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第7 章
流式输入输出及文件处理
7.1 流式输入输出处理机制
在Java语言中,所有的输入输出操作
都采用流式处理机制。所谓流是指具
有数据源和数据目标的字节序列的抽
象表示。我们可以将数据写入流中,
也可以从流中读取数据,实际上流中
存放着以字节序列形式表示的准备流
入程序或流出程序的数据。
当试图将程序中的数据输出到输出设备时,
需要将这些数据以字节序列的形式写入流中,
此时的数据源是程序,数据目标是输出设备,
这个流被称为输出流 (outputoutput streamstream )。
数据
程序 输出设备
数据源 数据目标
当试图将外部的数据输入到程序中时,流中的
数据源是输入设备,数据目标是程序,这个流
被称为输入流 (input stream )。
数据
输入设备 程序
数据源 数据目标
Java程序使用流机制处理输入输出的
主要好处是可以使程序中有关输入输
出的代码与设备无关,这样既可以免
去了解每一种设备的细节而带来的烦
恼,也可以使得程序适应各种设备的
输入输出。
流的基本处理单位为字节。如果每次只
读写一个字节,会使得数据传输效率非
常低,因此通常为流配备一个缓冲区
(buffer),我们将这种流称为缓冲流。
数据源 缓冲区 目标源
在Java语言中,支持输入输出流的所有
类被放置在java.io包中,其中主要包含
两种类型的流 ,一种是二进制流
(binary stream ),另一种是字符流
(character stream )。
当以二进制字节序列的形式写数据时,
写到流中的数据与内存中的形式完全一写到流中的数据与内存中的形式完全一
样,即没有发生任何变化。当以字符的
形式写数据时,由于Java 中的字符采用
Unicode编码,占据16个二进制位,因此,
写入的每个字符为两个字节,先写高字
节,后写低字节。
7.2 Java的输入输出流库
7.2.1 Java的输入输出流库
File 支持文件或目录操作的类
OutputStream 字节流输出操作的抽象类
InputStream 字节流输入操作的抽象类
Writer 字符流输出操作的抽象类
Reader 字符流输入操作的抽象类
RandomAccessFile 支持随机存取文件操作的类
7.2.2 字节输入流InputStream
字节流是以字节序列的形式读写数据的方式。
从输入设备或文件中读取数据使用的字节流
被称为输入流 , 在 Java 语言中用
InputStream类描述,并提供了下面几个用
于读取数据的成员方法于读取数据的成员方法::
read()
read(byte[] buffer)
read(byte buffer[],int offset,int length)
skip(long n)
close()
7.2.3 字节输出流OutputStream
OutputStream类是一个抽象类,它将
作为所有字节输出流类的父类,在这
个类中包含下面5个主要的成员方法:
write(intwrite(int b)b)
write(byte[] buffer)
write(byte[] buffer,int offset,int length)
flush()
close()
7.3 文件
利用文件组织和存储数据是一种常用的
方式。在Java语言中,根据对文件的存
取方式不同,提供了两个类用来描述文
件及实现文件的各种操作。
您可能关注的文档
- 上海商学院物流基础第二章 物流活动要素.pdf
- 上海商学院物流基础第六章 物流成本.pdf
- 上海商学院物流基础第六章 物流计划与物流成本.pdf
- 上海商学院物流基础第七章 供应链管理.pdf
- 上海商学院物流基础第三章 配送与配送中心.pdf
- 上海商学院物流基础第三章 物流共同化体系的构筑.pdf
- 上海商学院物流基础第四章 物流系统.pdf
- 上海商学院物流基础第五章 物流与顾客服务.pdf
- 上海商学院物流基础第一章 物流概述.pdf
- 上饶师范学院教育学第二章 教育与社会发展.pdf
- 首都师范大学软件工程实践Java课程第三章 抽象与封装.pdf
- 首都师范大学软件工程实践Java课程第十二章 JavaBean编程技术.pdf
- 首都师范大学软件工程实践Java课程第十一章 数据库访问的编程技术.pdf
- 首都师范大学软件工程实践Java课程第四章 继承与多态.pdf
- 首都师范大学软件工程实践Java课程第五章 面向对象软件的开发过程.pdf
- 首都师范大学软件工程实践Java课程第一章 面向对象程序设计概述.pdf
- 四川大学电子信息学院信息安全理论与技术 IDS.pdf
- 四川大学电子信息学院信息安全理论与技术 安全服务及功能配置.pdf
- 四川大学电子信息学院信息安全理论与技术 安全机制.pdf
- 四川大学电子信息学院信息安全理论与技术 防火墙.pdf
原创力文档


文档评论(0)