前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >第7次文章:IO流中的重点流

第7次文章:IO流中的重点流

作者头像
鹏-程-万-里
发布2019-09-27 14:21:24
4120
发布2019-09-27 14:21:24
举报

这周的内容是对前面已经学过的一些重要IO流进行一个框架的总结,没有放相关的代码。这几个流的用法都比较简单,正在学Java的小伙伴儿,学到此处的时候,一看就懂!

IO流中,共分为三大类,分别为节点流,处理流,转换流。

一、节点流

节点流属于最小单元,有字节流和字符流两种类别

1、字节流

读取:InputStream

写出:OutputStream

字节流可以处理一切内容。

2、字符流

读取:Reader

写出:Writer

字符流只能处理纯文本文件,所谓的纯文本文件也就是人类能够看懂的文件。

二、处理流

处理流主要是缓冲流,提高IO流在读取和写出时候的性能,避免产生错误。主要的缓冲流有两个,读取缓冲流BufferedInputStream,写出缓冲流BufferedOutputStream。在使用缓冲流的时候十分简单,用法就是:缓冲流(节点流)。

三、转换流

在对文件进行操作的时候,很多情况下会产生乱码。在计算机中,乱码的产生只有两个原因。第一:文件在读取和写出的时候没有使用统一的编码和解码集,例如Java平台中的jbk编码解码集,UTF-8编码集等等。当读取或者写出操作使用的是两个不一样的编码解码集的时候,就会对结果产生乱码的影响。第二:在读取写出操作的时候,文件的长度有损失,即信息不完整。当操作过程中,出现字节信息丢失的问题时,同样会导致最终的结果出现乱码的情况。

转换流的使用,就是在对文件操作的时候,指定相同的编码解码集,在同样的集合下,对文件进行相应的处理。主要的转换流有:解码(InputStreamReader),编码(OutputStreamWriter)。在使用的时候需要注意一点,首先需要知道目标文件自身的编码集,这样才能够在对其操作时,使用与文件相对应的编码解码集进行处理,从而避免出现乱码的情况。如果在对文件的编码集不清楚的情况下就进行相关操作,那么将会很容易产生乱码。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-02-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Java小白成长之路 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档