filereaderror_InputStreamReader

filereaderror_InputStreamReader今天梳理IO笔记时发现一个问题–FileReader是鸡肋吗,它有用吗???在使用字符流读取文本文件时(且不使用包装流时),有两种类提供读取文件方法,分别是InputStreamReader和FileReader,后者为前者子类。引言–当文本文件编码与编译工具默认编码不同时,FileReader类的方法读取文件会出现乱码的情况,这时需要用到转换流InputStreamReader的InputStreamReader(InputStreamin,StringcharsetName)方法。作为转换

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

今天梳理IO笔记时发现一个问题–FileReader是鸡肋吗,它有用吗???

在使用字符流读取文本文件时(且不使用包装流时),有两种类提供读取文件方法,分别是InputStreamReader和FileReader,后者为前者子类。

引言–当文本文件编码与编译工具默认编码不同时,FileReader类的方法读取文件会出现乱码的情况,这时需要用到转换流InputStreamReader的InputStreamReader(InputStream in, String charsetName) 方法。

作为转换流的子类,FileReader功能不是应该比父类丰富吗?

查看API得知:

FileReader构造方法比父类少且没有一个新方法,全是继承来的方法。
那么FileReader存在的意义是什么呢?

当字符文件编码与默认编码相同时,FileReader比InputStreamReader更加便利(可能是当遇到海量字符文件读取时,FileReader的效率更高吗?)

在这里插入图片描述

FileReader优点仅此而已吗?本人不得而知,知道的请在评论区留下足迹。

接下来就轮到转换流了

回到引言说的话,我们来思考这个问题。

何时使用转换流?

1.如果使用非默认编码保存文件或者读取文件时,需要用到转换流,因为字节流的重载构造方法中有指定编码格式的参数,而FielReader 与 FileWriter 是默认编码的文本文件

比如:
当我们使用默认GBK编码保存文本时,下面2句代码其实是一样的效果,
new OutputStreamWriter(new FileOutputStream(“out.txt”))
new FileWriter(“out.txt”)

当要求保存为其他编码比如UTF-8时,就要这样写
new OutputStreamWriter(new FileOutputStream(“out.txt”),“UTF-8”)

而如果要读取一个UTF-8编码的文本文件时,同样的要用
new InputStreamReader(new FileInputStream(“in.txt”),“UTF-8”);

而不能用new FileWriter(“in.txt”)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/189452.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • java xml解析框架_JAVA解析xml的五种方式对比

    java xml解析框架_JAVA解析xml的五种方式对比本篇文章主要对比Java即系xml的五种方式,这五种方式各有利弊,大家可以看情况采用哪一种。1.DOM解析DOM是html和xml的应用程序接口(API),以层次结构(类似于树型)来组织节点和信息片段,映射XML文档的结构,允许获取和操作文档的任意部分,是W3C的官方标准优点①允许应用程序对数据和结构做出更改。②访问是双向的,可以在任何时候在树中上下导航,获取和操作任意部分的数据。缺点①通常需要…

    2022年6月4日
    132
  • Android富文本编辑器

    Android富文本编辑器Android富文本编辑器,一款支持撤销、加粗、斜体、下划线、有序无序列表、对齐、改文字大小、改文字颜色、插入图片、插入视频等功能,并且可设置cookie,自定义素材操作菜单的的编辑器。github地址:https://github.com/yeaper/RichEditor1.控件使用RichEditor是富文本编辑器,EditorOpMenuView是操作栏控件,两个需要配合使用,xm…

    2022年6月8日
    82
  • 笔记本卡顿不流畅是什么原因_笔记本卡顿不流畅是什么原因_笔记本电脑卡顿不流畅如何解决-win7之家…「建议收藏」

    笔记本卡顿不流畅是什么原因_笔记本卡顿不流畅是什么原因_笔记本电脑卡顿不流畅如何解决-win7之家…「建议收藏」有不少笔记本电脑用户在使用过程中,发现会经常会遇到卡顿不流畅的情况,很多用户不知道是什么原因引起的,其实原因有很多,可能是电脑本身配置不足,或者电脑占用率过高,或者内存不足等,接下来给大家带来笔记本电脑卡顿不流畅的详细解决方法吧。具体步骤如下:1、CPU不足电脑卡顿很多时候都是因为CPU占用过高,实质还是CPU太小引起的,我们可以将多余的进程或者软件关闭,或者更换性能好的CPU来解决这个问题,电脑…

    2025年10月30日
    4
  • RPM Spec File Reference

    RPM Spec File Reference

    2021年8月19日
    60
  • 【算法详解】洗牌算法[通俗易懂]

    【算法详解】洗牌算法[通俗易懂]1.问题描述

    2022年9月21日
    5
  • css 渐变背景_照片背景换成蓝色渐变

    css 渐变背景_照片背景换成蓝色渐变CSS渐变背景看这一篇就够了在我们自己设计网页的时候,为了好看美观,颜色可谓是最让人头疼的一部分。尤其是在配色上又找不到一些好看的网站。今天我就来记录一些好看的渐变式背景,和一些常用的颜色网站。CSS渐变使可以显示两种或多种指定颜色之间的平滑过渡。让我们来玩一玩,看能玩出什么花来。CSS定义了两种渐变类型:一、线性渐变(向下/向上/向左/向右/对角线)我们通过属性linear-gradient来这样定义一个线性渐变。background-image:linear-gradient(方向

    2025年8月22日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号