Java SE 089 Java IO流深入详解_免费下载

Java SE 089 Java IO流深入详解_免费下载

ID:42566073

大小:20.19 KB

页数:5页

时间:2019-09-17

Java SE 089 Java IO流深入详解_免费下载_第1页
Java SE 089 Java IO流深入详解_免费下载_第2页
Java SE 089 Java IO流深入详解_免费下载_第3页
Java SE 089 Java IO流深入详解_免费下载_第4页
Java SE 089 Java IO流深入详解_免费下载_第5页
资源描述:

《Java SE 089 Java IO流深入详解_免费下载》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、JavaSE089JavaIO流深入详解一、流的概念Java程序通过流来完成输入输出。流是生产或消费信息的抽象。流通过Java的输入/输出系统与物理设备链接。改管与它们链接的物理设备不尽相同,所有流的行为具有同样的方式。这样,相同的输入/输出类和方法适用于所有类型的外部设备。这意味着一个输入流能够抽象多种不同类型的输入,从磁盘文件,从键盘或从网络套接字。同样,一个输出流可以输出到控制台,磁盘文件或相连的网络。流是处理输入/输出的一个洁净的方法,例如它不需要代码理解键盘和网络的不同。Java中流的实现是在java.io包定义的类层次结构内部的。二、输入/输出流的概念输入或

2、输出时,数据在通信通道中流动。所谓“数据流Stream”指的是所有数据通信通道之中,数据的起点和终点。信息的通道就是一个数据流。只要是数据从一个地方“流”到另一个地方,这种数据流动的通道都可以称为数据流。输入/输出是相对于程序来说的。程序在使用数据时所扮演的角色有两个:一个是源,一个是目的。若程序是数据流的源,即数据的提供者,这个数据流对程序来说就是一个“输出数据流”(数据从程序流出)。若程序是数据流的终点,这个数据流对程序而言就是一个“输入数据流”(数据从程序外流向程序)。在java.io包中提供了60多个类(流)。从功能上分为两大类:输入流和输出流。从流结构上分可以分

3、为字节流(以字节为处理单位或称面向字节)与这字符流。(以字符为处理单位或称面向字符)字节流的输入流和输出流的基础是InputStream和OutputStream这两个抽象类,字节流的输入输出操作由这两个子类。字符流是java1.1之后增加的以字符为单位进行输入输出处理的流,字符流输入与输出的基础是抽象类Reader和Writer。字节流字符流InputStreamReaderOutputStreamWriter读数据的逻辑为:openastreamwhilemoreinformationreadinformationclosethestream写数据的逻辑为:opena

4、streamwhilemoreinformationwriteinformationclosethestream三、流的分类节点流:从特定的地方读写的流类,例如:磁盘或一块内在区域。过滤流:使用节点流作为输入或输出。过滤流是使用一个已经存在的输入流或输出流连接创建的。解说:它是直接跟目标进行交互的,比如要从硬盘上读取一个文件,那这样一个节点流就是针对文件的一个流,扯拉跟文件进行连接的,在读取的过程当中,我可以对它的读取进行一个过滤,读取到信息之后,可以对它进行一个包装,然后增加一些新的功能,这种流就是所谓的过滤流。过滤流总是与节点流打交道,或者是与其他的过滤流打交道,而节

5、点流总是与特定的信息进行打交道的。输入:进入程序用过滤流对过滤流进行包装用过滤流对节点流进行包装键头表示节点流,直接与硬盘上的文件相连接硬盘上的某一文件如txt输出:用过滤流对过滤流进行包装硬盘上的某一文件如txt用过滤流对节点流进行包装键头表示节点流,与程序相连进入程序注意:与目标相连接的一定是节点流。在流的过程中可以通过过滤流。即过滤流不能与目标直接进行连接。java里面关于流的类很多,什么是节点流,什么是过滤流呢,java给我们提供了一个过滤流的父类,只要这个父类衍生下来的类,都叫做过滤流,其余都叫做节点流。随着我们使用的增多,就可以自动的判断出来,哪个流是过滤流,

6、哪个流是节点流。字节流类为处理字节式输入/输出提供了丰富的环境。一个字节流可以和其他任何类型的对象并用,包括二进制数据。这样的多功能性使得字节流对很多类型的程序都很重要。字节流类以InputStream和OutputStream为顶层类,它们都是抽象类。抽象类InputStream和OutputStream定义了实现其他流类的关键方法。最重要的方法是read()和write(),它们分别对数据的字节进行读写。两种方法都在InputStream和OutputStream中被定义为抽象方法。它们被派生的流类重写。每个抽象类都有多个具体的子类,这些子类对不同外设进行处理,例如磁

7、盘文件,网络连接,甚至是内在缓冲区。要使用流类,必须导入java.io包。InputStream三个基本的读的方法:abstractintread():读取一个字节数据,并返回读到的数据,如果返回-1,表示读到了输入流的末尾。intread(byte[]b):将数据读入一个字节数组,同时返回实际读取的字节数。如果返回-1,表示读到了输入流的末尾。intread(byte[]b,intoff,intlen):将数据读入一个字节数组,同时返回实际读取的字节数。如果返回-1,表示读到了输入流的末尾。off指定在数组b中存放数据的起始

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。