欢迎来到天天文库
浏览记录
ID:58728722
大小:1.73 MB
页数:71页
时间:2020-10-04
《IO输入输出ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第8章IO输入输出Java程序设计输入输出类库大部分程序都需要数据输入/输出处理,比如从键盘读取数据、向屏幕中输出数据、从文件中读或者向文件中写数据、在网络连接时进行读写操作等。Java把这些不同类型的输入、输出源抽象为流(Stream),提供了专用于输入输出功能的包java.io。所有与输入输出有关的类都继承了这5个类:基本流:System.out、System.in字节流:InputStream、OutputStream字符流:Reader、Writer文件流:FileInputStream、FileOutputStream过滤流:FilterInputStream、FilterOu
2、tputStreamJava的输入输出是以流(stream)的方式进行处理的。流是在计算机的输入、输出操作中流动的数据序列。输入/输出流的分类java.io包中定义了多个流类型(类或抽象类)来实现输入/输出功,可以从不同的角度对其进行分类:按数据流的方向不同可以分为输入流和输出流。(以程序的角度来考虑)按处理数据单位不同可以分为字节流和字符流。按照功能不同可以分为节点流和处理流。输入/输出流的分类输入流示意图输出流示意图数据流是从源到目的的字节的有序序列,先进先出。两种基本流:Inputstream(输入流),Outputstream(输出流)输入流:从键盘或磁盘文件流向程序的数据流,为
3、程序提供输入信息。输出流:从程序流向显示器、打印机、磁盘文件的数据流,实现程序的输出功能。输入/输出流的分类按所读写的数据类型分两类:字节流类(ByteStreams)字节流类用于向字节流读写8位二进制的字节。一般地,字节流类主要用于读写诸如图象或声音等的二进制数据。以字节为传输单位字符流类(CharacterStreams)字符流类用于向字符流读写16位二进制字符。以字符为传输单位节点流为可以从一个特定的数据源(节点)读写数据(如:文件,内存)处理流(也称过滤流、包装流、缓冲流)是“连接”在已存在的流(节点流或处理流)之上,通过对数据的处理为程序提供更为强大的读写功能。输入/输出流的分
4、类数据源程序节点流数据目节点流数据目数据源程序处理流处理流Java程序设计Java中流类的总图用于输入的字节流用于输出的字节流用于输入的字符流类用于输出的字符流类8.1字节流字节流以字节方式从流中读取或向流中写入数据,字节流类有:输入流类InputStream及其子类输出流类OutputStream及其子类InputStream和OutputStream分别是所有字节输入类和字节输出类流的祖先。InputStream和OutputStream为抽象类,不能用来直接创建流,只能用它们的子类创建字节输入或字节输出流。字节输入流InputSream类的结构继承自InputSteam的流都是用于
5、向程序中输入数据,且数据的单位为字节(8bit);下图中深色为节点流,浅色为处理流。InputStream方法intread()从输入流中读一个字节的二进制数据,然后以此数据为低位字节,配上一个全零字节,形成一个0~255之间的整数返回。它是一个抽象方法,需要在子类中具体实现。读取结束时,它会得到-1intread(byte[]b[])将多个字节读到数组中,填满整个数组intread(byte[]b[],intoff,intlen)从输入流中读取长度为len的数据,从数组b中索引为off的位置开始放置读入的数据,读毕返回读取的字节数voidclose()数据流关闭,同时释放与该数据流相关
6、的资源也可以由运行时系统自动关闭InputStream方法intavailable()返回目前可以从数据流中读取的字节数(实际的读操作所读得的字节数可能大于该返回值)longskip(longl)跳过数据流中指定数量的字节不读,返回值表示实际跳过的字节数voidmark(intmarkarea)标记数据流的当前位置,并划出一个缓冲区,其大小至少为指定参数的大小voidreset()执行完read()操作后,调用方法reset()将回到输入数据流中被标记的位置字节输出流OutputSream类层次继承自OutputSteam的流是用于程序中输入数据,且数据的单位为字节(8bit);下图中深
7、色为节点流,浅色为处理流。OutputStream的基本方法voidwrite(intb)向输出流中写入一个字节数据,该字节数据为参数b的低8位voidwrite(byte[]b)将一个字节类型的数组中的数据写入输出流voidwrite(byte[]b,intoff,intlen)将一个字节类型的数组中的从指定位置(off)开始的len个字节写入到输出流。voidclose关闭流释放内存资源voidflush()将输出流中缓冲的数据
此文档下载收益归作者所有