欢迎来到天天文库
浏览记录
ID:49462671
大小:4.44 MB
页数:73页
时间:2020-02-05
《chapter09输入输出.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第九章输入输出与文件处理处理经济管理学院输入流和输出流字节流和字符流输入和输出类的继承层次结构9.1输入和输出流概述I/O来源控制台(console,如DOS窗口)打印/读入文件(file)读/写网络接口(TCP/UDP端口)读/写针对数据的读写以流(stream)的方式对数据进行操作数据源程序读出数据流目的程序写入数据流流的重要特性顺序读/写sequentially程序需要输入/输出处理:不同类型的输入、输出源抽象为流(Stream)其中输入或输出的数据称为数据流(DataStream)用统一的接口来表示。数据流是指一组有顺序的、有
2、起点和终点的字节集合。输入流和输出流输入流(InputStream):能够读取字节序列的对象输出流(OutputStream):能够写字节序列的对象例如:一个文件,向其中写数据时,是一个输出流从其中读取数据时,它是一个输入流例如:键盘是一个输入流屏幕是一个输出流Java的流分为两类9.1流的分类InputStream类InputStream是基本的输入流类,是一个抽象类,它定义了输入流类共同的特性,该类中的所有方法在遇到错误时都会引发IOException异常,所以一般在定义方法时都会在后面加上throwsIOExcetion子句。Input
3、Stream类是一个抽象类,不能直接实例化,程序中使用的是它的子类对象,但有些子类不支持其中的一些方法,如skip,mark,reset。常用方法有:9.1流的分类intread()//返回下一个输入字节的整形表示,-1表示遇到流的末尾(结束)intread(byte[]b)//读入b.length个字节到数组b并返回实际读入的字节数intread(byte[]b,intoff,intlen)//读入流中的数据到数组b,保存在off开始的长度为len的数组元素中longskip(longn)//跳过输入流上的n个字节并返回实际跳过的字节数in
4、tavaiable()//返回当前输入流中可读的字节数voidmark(intreadlimit)//在输入流的当前放置一个标志,表示允许最多读入readlimit个字节voidreset()//把输入指针返回以前所做的标志处(复位)booleanmarkSupported()是否支持mark/reset操作voidclose()//关闭流操作,释放相应资源9.1流的分类OutputStream类OutputStream是基本的输出流类,与InputStream对应,它定义了输出流类共同的特性,定义和使用与InputStream类似,但它的所
5、有方法都是void返回类型。常用方法:voidwrited(intb)//将一个字节写入流,也可以使用表达式voidwrited(byte[]b)//将一个字节数组写入输出流voidwrited(byte[]b,intoff,intlen)//将字节数组的从off开始的len个字节写入输出流voidflush()//彻底完成输出并清空缓冲区voidclose()//关闭输出流,释放资源读/写流的一般流程读(Reading)openastream//打开读出流whilemoreinformation//判断readinformation//读c
6、losethestream//关闭流写(Writing)openastream//打开写入流whilemoreinformation//判断writeinformation//写closethestream//关闭流流类型:字节流和字符流。面向字节的流:以byte(8bits)为基本处理单位的流类分别由抽象类InputStream和OutputStream派生的类层次。面向字符的流:处理使用Unicode(每个字符使用两个字节)的数据从抽象类Reader和Writer的派生的类层次,读写双字节的Unicode字符。9.1.2字节流和字符流两种
7、流的定义(读取信息的基本数据单位)字节流(bytestream):一个字节(8-bit)一个字节读/写字符流(characterstream):一个字符一个字符读/写(具有特定字符编码的数据)java语言6A617661D3EFD1D4以字节流的方式读:读8次,8个字节以字符流的方式读:读6次,6个字符面向字节流的输入输出类层次结构面向字符流的输入输出类层次结构I/O流的分类(12个功能类)I/O类型所用到的类描述文件FileReader/FileWriterFileInputStream/FileOutputStream文件流(读/写文件)
8、缓冲BufferedReader/BufferedWriterBufferedInputStreamBufferedOutputStream提高读/写效率打印Pri
此文档下载收益归作者所有