- 1、本文档共32页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
9.1输入/输出流的概述
9.2输入/输出流的分类
9.3字节流
9.4字符流
9.5InputStream与Reader的差别
以及OutputStream与Writer的差别;9.1输入/输出流的概述;9.1.1输入/输出流的概念
Java中I/O操作主要是指使用Java进行输入/输出操作。Java所有的I/O机制都是基于数据流进行输入/输出,这些数据流表示了字符或者字节数据的流动序列。Java的I/O流提供了读写数据的标准方法。任何Java中表示数据源的对象都会提供以数据流的方式读写数据的方法。
数据流是一串连续不断的数据的集合,就像水管里的水流,即数据可以分段输入,从而按先后顺序形成一个长的数据流。对读取程序来说,看不到数据流在输入时的分段情况,每次只可以按次序读取其中的数据,不管输入时是将数据分多次输入,还是一次输入,读取时的效果都是完全一样的。
9.1.2输入/输出类层次
Jdk提供了包java.io,其中包括一系列的类来实现输入/输出处理。Java语言中定义了两种类型的流:字节类和字符类。字节流(ByteStream)为字节的输入和输出处理提供了方法。例如,使用字节流来读取或书写二进制数据。字符流(CharacterStream)为字符的输入和输出处理提供了方便。
1.字节流
从InputStream和OutputStream派生出来的一系列类。这类流以字节(Byte)为基本处理单位。
(1)?InputStream类。InputStream类可以完成最基本的从输入流读取数据的功能,是所有字节输入流的父类。根据输入数据的不同形式,可以创建一个适当的InputStream的子类对象来完成输入。
;这些子类对象也继承了InputStream类的方法,其中常用的方法如下:
①读数据的方法。
intread():从输入流中读取一个字节,并返回此字节的ASCII码值,范围在0~255之间,该方法的属性为abstract,必须被子类实现。
intread(byte[]b):从输入流中读取长度为b.length的数据,写入字节数组b中,并返回读取的字节数。
intread(byte[]b,intoff,intlen):从输入流中读取长度为len的数据,写入字节数组b中,并从索引off开始的位置返回读取的字节数。
intavailable():返回从输入流中可以读取的字节数。
longskip(longn):从输入流当前读取位置向前移动n个字节,并返回实际跳过的字
节数。
②标记流的方法。
voidmark(intreadlimit):在输入流的当前读取位置作标记。从该位置开始读取由readlimit指定的数据后,标记失效。
voidreset():重置输入流的读取位置为mark()所标记的位置。
booleanmarkSuppposed():判断输入流是否支持mark()和reset()。
voidclose():关闭并释放与该流相关的系统资源。;(2)?OutputStream类。
OutputStream类可以完成最基本的输出数据的功能,是所有字节输出流的父类。根据输出数据的不同形式,可以创建一个适当的OutputStream的子类对象来完成输出。
这些子类对象也继承了OutputStream类的方法,其中常用的方法如下:
①输出数据的方法。voidwrite(intb):将指定的字节b写入输出流。该方法的属性为abstract,必须被子类所实现。参数中的b为int类型,如果b的值大于255,则只输出它的低位字节所表示的值。
intwrite(byte[]b):把字节数组b中的b.length个字节写入输出流。
intwrite(byte[]b,intoff,intlen):把字节数组b中从索引off开始的len个字节写入输出流。
②刷新和关闭流的方法。
flush():刷新输出流,并输出所有被缓存的字节。
close():关闭输出流,也可以由运行时系统在对流对象进行垃圾收集时隐式关闭输出流。;2.字符流
从Reader和Writer派生出的一系列类,这类流以16位的Unicode码表示的字符为基本处理单位。
(1)?Reader类。Reader类中包含了许多字符输入流的常用方法,是所有字符输入流的父类,根据需要输入的数据类型的不同,可以创建适当的Reader类的子类对象来完成输入操作。
这些子类也继承了Reader类的方法,其中常用的方法如下:
①读取数据的方法。
intread():读取一个字符。
intread(charcbuf[]):读取一系列字符到数组cbuf[]中。
intread(char
您可能关注的文档
- 《新媒体创意与作品设计(全彩慕课版)》-习题及答案 .docx
- 《新媒体创意与作品设计(全彩慕课版)》-教案全套 郭伟 第1--9章 新媒体与新媒体创意设计---微信小程序设计.doc
- 《新媒体创意与作品设计(全彩慕课版)》-教学大纲 .doc
- 《新媒体创意与作品设计(全彩慕课版)》-课程标准 .doc
- 基于新信息技术的Java程序设计基础 课件 第2章 Java程序设计基础.pptx
- 基于新信息技术的Java程序设计基础 课件 第3章 Java流程控制语句.pptx
- 基于新信息技术的Java程序设计基础 课件 第4章 数组与字符串.pptx
- 基于新信息技术的Java程序设计基础 课件 第5章 面向对象程序设计.pptx
- 基于新信息技术的Java程序设计基础 课件 第6章 异常处理.pptx
- 基于新信息技术的Java程序设计基础 课件 第7章 多线程程序设计.pptx
文档评论(0)