java Stream的理解

流是 Java 中最重要的基本概念之一。文件读写、网络收发、进程通讯,几乎全部须要输入输出的地方,都要用到流。java

流是作什么用的呢?就是作输入输出用的。为何输入输出要用“流”这种方式呢?由于程序输入输出的基本单位是字节,输入就是获取一串字节,输出就是发送一串字节。可是不少状况下,程序不可能接收全部的字节以后再进行处理,而是接收一点处理一点。比方你下载魔兽世界,不可能所有下载到内存里再保存到硬盘上,而是下载一点就保存一点。这时,流这种方式就很是适合。网络

在 Java 中,每一个流都是一个对象。流分为两种:输入流(InputStream)和输出流(OutputStream)。对于输入流,你只要从流当中不停地把字节取出来就是了;而对于输出流,你只要把准备好的字节串传给它就行。

流对象是怎么得到的呢?不一样的外部系统,获取流的方式也不一样。例如,文件读写就要建立 FileInputStream/FileOutputStream 对象,而网络通讯是经过 Socket 对象来获取输入输出流的。通常来讲,若是一个类有 getInputStream() 或 getOutputStream() 这样的方法,就代表它是经过流对象来进行输入输出的。
 对象

  标准输入输出,文件的操做,网络上的数据流,字符串流,对象流,zip文件流等等,java中将输入输出抽象称为流,就好像水管,将两个容器链接起来。将数据冲外存中读取到内存中的称为输入流,将数据从内存写入外存中的称为输出流。进程

    流是一个很形象的概念,当程序须要读取数据的时候,就会开启一个通向数据源的流,这个数据源能够是文件,内存,或是网络链接。相似的,当程序须要写入数据的时候,就会开启一个通向目的地的流ip

 

 

流(Stream)是字节的源或目的。
两种基本的流是:输入流(Input Stream)和输出流(OutputStream)。可从中读出一系列字节的对象称为输入流。而能向其中写入一系列字节的对象称为输出流。
流的分类:
1:节点流:从特定的地方读写的流类,例如:磁盘或一块内存区域。
2:过滤流:使用节点流做为输入或输出。过滤流是使用一个已经存在的输入流或输出流链接建立的
相关文章
相关标签/搜索