java——IO

流的概念:

流是一个很形象的概念,当程序需要读取数据的时候,就会开启一个通向数据源的流,这个数据源可以是文件,内存,或是网络连接。类似的,当程序需要写入数据的时候,就会开启一个通向目的地的流。这时候你就可以想象数据好像在这其中“流”动一样。

流的分类:

按数据方向分:输入流和输出流。
输入流:InputStream/Reader
输出流:OutputStream/Writer
按数据类型分:字节流和字符流。
字节流:InputStream/OutputStream
字符流:Reader/Writer
下图是常用的IO流:

关于字节流和字符流的区别
1、字节流读取的时候,读到一个字节就返回一个字节。
字符流使用了字节流读到一个或多个字节(中文对应的字节是两个,UTF-8码表中是三个)时,先去查指定的编码表,将查到的字符返回。
2、字节流可以处理所有类型数据,如图片,mp3等。
字符流只能处理字符数据。
3、字节流输入流都是以InputStream结尾,字节流输出流都是以OutputStream结尾。在InputStream或者OutputStream前面代表这个流的作用。
字符流输入流都是以Reader结尾,字符流输出流都是以Writer结尾,相同与字节流前面也是代表这个流的作用。
实际上字节流在操作的时候本身是不会用到缓冲区的,是文件本身的直接操作的,但是字符流在操作的时候下后是会用到缓冲区的,是通过缓冲区来操作文件的。
使用字节流好还是字符流好呢?
答案是字节流。首先因为硬盘上的所有文件都是以字节的形式进行传输或者保存的,包括图片等内容。但是字符只是在内存中才会形成的,所以在开发中,字节流使用广泛。
总结:只要是处理纯文本数据,就要优先考虑使用字符流。除此之外都使用字节流。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 概述 java.io 包几乎包含了所有操作输入、输出需要的类。所有这些流类代表了输入源和输出目标。java.io ...
    Steven1997阅读 13,040评论 1 25
  • Java IO整理 参考文献一:http://www.cnblogs.com/lich/tag/java%20IO...
    数独题阅读 3,544评论 0 0
  • 1.java IO流的概念,分类,类图 1.1. java IO 流的概念 java的io是实现输入和输出的基础,...
    onlyHalfSoul阅读 3,627评论 0 1
  • 1.Java Io流的概念,分类,类图。 1.1 Java Io流的概念     java的io是实现输入和输出...
    hedgehog1112阅读 3,935评论 0 0
  • 有没有那么一个人,谈起青春年少,你满脑子全是他。 左先生就是右小姐整个青春里唯一的男主角。 此时在咖啡厅等左先生时...
    28583d31fbd4阅读 3,793评论 1 2

友情链接更多精彩内容