流的概念及基本分类
2017-04-20 22:27
260 查看
流的概念:
流是一个很形象的概念,当程序需要读取数据的时候,就会开启一个通向数据源的流。这个数据源可以是文件,内存,或是网络连接。
类似的,当程序需要写入数据的时候,就会开启一个通向目的地的流。这时候你就可以想象数据好像在其中“流”动一样。
流的分类“:
按数据方向分:输入流和输出流。
输入流:InputStream/Reader
输出流:OutputStream/Writer
按数据类型分:字节流和字符流
字节流:InputStream/OutputStream
字符流:Reader/Writer
下图为常用的流:
![](https://img-blog.csdn.net/20170420221712325?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvc2luZ2l0/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
关于字节流和字符流的区别:
1)字节流在读取的时候,读到一个字节就返回一个字节。字符流使用了字节流读到一个或者多个字节(中文对应的字节是两个,UTF-8码表中是三个)时,先去查指定的编码表,将查到的字符返回。
2)字节流可以处理所有类型数据,如图片,mp3等。
3)字节输入流都是以InputStream结尾,字节输出流都是以OutputStream结尾。在InputStream或者OutputStream前面代表这个流的作用。
字符流输入流都是以Reader结尾,字符流输出流都是以Writer结尾,相同与字节流前面也是代表这个流的作用。
实际上字节流在操作的时候本身是不会用到缓冲区的,是文件本身直接操作的,但是字符流在操作的时候下后是会用到缓冲区的,是通过缓冲区来操作文件的。
使用字节流好,还是使用字符流好?
当然是字节流。
首先因为硬盘上的所有文件都是以字节的形式进行传输或者保存的,包括图片等内容。
但是字符流只是在内存中才会形成的,所以在开发中,字节流使用更加广泛。
总结:
只要是处理纯文本数据,就要优先考虑使用字符流。除此之外都使用字节流。
流是一个很形象的概念,当程序需要读取数据的时候,就会开启一个通向数据源的流。这个数据源可以是文件,内存,或是网络连接。
类似的,当程序需要写入数据的时候,就会开启一个通向目的地的流。这时候你就可以想象数据好像在其中“流”动一样。
流的分类“:
按数据方向分:输入流和输出流。
输入流:InputStream/Reader
输出流:OutputStream/Writer
按数据类型分:字节流和字符流
字节流:InputStream/OutputStream
字符流:Reader/Writer
下图为常用的流:
关于字节流和字符流的区别:
1)字节流在读取的时候,读到一个字节就返回一个字节。字符流使用了字节流读到一个或者多个字节(中文对应的字节是两个,UTF-8码表中是三个)时,先去查指定的编码表,将查到的字符返回。
2)字节流可以处理所有类型数据,如图片,mp3等。
3)字节输入流都是以InputStream结尾,字节输出流都是以OutputStream结尾。在InputStream或者OutputStream前面代表这个流的作用。
字符流输入流都是以Reader结尾,字符流输出流都是以Writer结尾,相同与字节流前面也是代表这个流的作用。
实际上字节流在操作的时候本身是不会用到缓冲区的,是文件本身直接操作的,但是字符流在操作的时候下后是会用到缓冲区的,是通过缓冲区来操作文件的。
使用字节流好,还是使用字符流好?
当然是字节流。
首先因为硬盘上的所有文件都是以字节的形式进行传输或者保存的,包括图片等内容。
但是字符流只是在内存中才会形成的,所以在开发中,字节流使用更加广泛。
总结:
只要是处理纯文本数据,就要优先考虑使用字符流。除此之外都使用字节流。
相关文章推荐
- 排序的基本概念和分类
- 数据结构笔记一:基本概念和分类
- 索引的基本概念、分类、优点、使用
- 基于嵌入式操作系统VxWorks的多任务并发程序设计(1)――基本概念 分类: vxWorks 2014-03-12 09:41 489人阅读 评论(0) 收藏
- 排序(一):基本概念及分类
- VxWorks6.6 pcPentium BSP 使用说明(一):基本概念 分类: vxWorks 2014-06-28 08:28 565人阅读 评论(0) 收藏
- 【读书笔记-数据挖掘概念与技术】分类:基本概念
- 软件测试分类基本概念
- 数据挖掘---分类:基本概念、决策树、与模型评估
- 【机器学习 基本概念】朴素贝叶斯分类
- 《大话数据结构》第9章 排序 9.2 排序的基本概念与分类
- 【数据挖掘】分类基本概念(没整理)
- 索引的基本概念、分类、优点、使用
- 第9章 排序的基本概念和分类
- 一个窗帘引发的——软件测试的基本概念及分类(三)
- 索引的基本概念、分类、优点、使用
- OLAP分类的基本概念和基本操作
- 【笔记】模电—lesson 35 反馈的基本概念与分类 I (hust)
- 流的概念及基本分类
- 黑马程序员---C语言学习笔记之数组的基本概念和分类