【java小知识】FileReader读取文件出现乱码的解决办法

转1:https://blog.csdn.net/a532672728/article/details/79432619 

转2:https://www.cnblogs.com/qq78292959/p/3794993.html

小结:

1)注意txt文件,保存的格式,Windows的记事本默认保存的ANSI,我们要让它保存成UFT-8格式;

2)问题出在FileReader读取文件的过程中,FileReader继承了InputStreamReader,但并没有实现父类中带字符集参数的构造函数,所以FileReader只能按系统默认的字符集来解码,然后在UTF-8 -> GBK -> UTF-8的过程中编码出现损失,造成结果不能还原最初的字符。 
原因明确了,这个问题解决起来并不困难,用InputStreamReader代替FileReader,InputStreamReader isr=new InputStreamReader(new FileInputStream(fileName),"UTF-8");这样读取文件就会直接用UTF-8解码,不用再做编码转换。

List<String> lines=new ArrayList<String>();
// 方法一
BufferedReader br=new BufferedReader(new InputStreamReader(new FileInputStream("d:/test.txt"),"UTF-8"));
String line = null;
while ((line = br.readLine()) != null) {lines.add(line);     
}    

 

转载于:https://www.cnblogs.com/huangyan246/p/10566857.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/411991.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[vue] 说说你对vue组件的设计原则的理解

[vue] 说说你对vue组件的设计原则的理解 第一: 容错处理, 这个要做好, 极端场景要考虑到, 不能我传错了一个参数你就原地爆炸 第二: 缺省值(默认值)要有, 一般把应用较多的设为缺省值 第三: 颗粒化, 把组件拆分出来. 第四: 一切皆可配置, 如有必要, 组件里面使用中文标点符号,…

最高法院明确反向工程合法 腾讯诉PICA恐生变

原文: http://it.sohu.com/20070118/n247688457.shtml通过自行开发研制或者反向工程等方式获得的商业秘密&#xff0c;将不被认定为反不正当竞争法有关条款规定的侵犯商业秘密行为。 昨天&#xff0c;最高人民法院发布的第一个涉及不正当竞争案件审理的司法解释明确了以上规则。…

[19/03/16-星期六] 常用类_Date时间类DateFormat类

一、Date时间类 计算机中 以1970 年 1 月 1 日 00:00:00定为基准时间&#xff0c;每个度量单位是毫秒(1秒的千分之一) 用ong类型的变量来表示时间&#xff0c;如当前时刻数值&#xff1a;long now new System.currentTimeMillis(); 【常用方法】 1. Date() 分配一个Date对象&a…

php array第一张图片_PHP array_udiff() 函数

PHP array_udiff() 函数实例比较两个数组的键值(使用用户自定义函数比较键值)&#xff0c;并返回差集&#xff1a;<?php function myfunction($a,$b){if ($a$b){return 0;}return ($a>$b)?1:-1;}$a1array("a">"red","b">"gre…

在FF与IE中使用数据岛

在FF与IE中使用数据岛 <div style"display:none;"><xml id"XMLNode"><xmp><Root>...<III><![CDATA[***]]></III>...</Root></xmp></xml></div><script language"javascript>…

[vue] 怎么缓存当前打开的路由组件,缓存后想更新当前组件怎么办呢?

[vue] 怎么缓存当前打开的路由组件&#xff0c;缓存后想更新当前组件怎么办呢&#xff1f; 可以在路由meta中加入参数, 对打开的路由进行keep-alive的判断, 通过钩子active等个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。放弃很容易&#xff0c; 但坚持一定很…

实验一作业

Part1&#xff1a;实验总结体会 1.实验过程对程序编码的使用不熟练&#xff0c;经常在书写代码过程中有停顿与疑惑&#xff0c;但熟能生巧&#xff0c;经过训练还是有不少收获&#xff1b; 2.实验内容不够严谨&#xff0c;容易犯小错误&#xff0c;还是需要勤加练习&#xff1b…

php 点击选择图片上传,php上传多张图片时,选择图片后即可预览的问题

这几天一直在解决一个问题&#xff0c;上传图片时选择成功后就能预览。需求&#xff1a;在点击上传图标的时候会在前面的input框中显示出文件名&#xff0c;然后点击后面的查看按钮就可以预览选择的这张图片了&#xff0c;要求不能刷新页面1.一开始的时候打算用ajax上传&#x…

[vue] prop是怎么做验证的?可以设置默认值吗?

[vue] prop是怎么做验证的&#xff1f;可以设置默认值吗&#xff1f; 单个类型就用Number等基础类型&#xff0c;多个类型用数组&#xff0c;必填的话设置require为true&#xff0c;默认值的话设置default&#xff0c;对象和数组设置默认用工厂函数&#xff0c;自定义验证函数…

python在函数外调用变量

def a&#xff08;&#xff09;&#xff1a; global phone phoneinput&#xff08;请输入手机号码&#xff09; def b (): idphone print(id) 在函数内用global定义变量&#xff0c;变量外就可使用该变量转载于:https://www.cnblogs.com/zhujunsheng/p/10570169.html

php怎么更新多条数据,PHP中批量更新数据表中多条记录

class test {/*** 创建像这样的查询: "IN(a,b)";** author wengxianhu* created to 2013-05-27* param mix $item_list 列表数组或字符串,如果为字符串时,字符串只接受数字串* param string $field_name 字段名称* return void*/public function db_create_in($item_…

共享一些变态的签名,希望不太OLD

1.人的一生就象在拉屎,有时你已经很努力了可出来的只是一个屁.2.小时侯&#xff0c;我家里很穷&#xff0c;没钱买自行车&#xff0c;我只好每天打的上学。初中的时候&#xff0c;因为我成绩太突出&#xff0c;学校领导留我多读了两年。初中毕业后&#xff0c;高中的校长觉得我…

[vue] prop验证的type类型有哪几种?

[vue] prop验证的type类型有哪几种&#xff1f; props:{title:String,likes: Number,isPublished: Boolean,commentIds: Array,author: Object,callback: Function,contactsPromise: Promise }个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。放弃很容易&#x…

Electron是个啥?

于2013年作为构建Github上可编辑的文本编辑器Atom的框架而被开发出来 是目前开源开发者、初创企业和老牌公司常用的开发工具 是桌面应用框架 相当于一个浏览器的外壳&#xff0c;可以把网页程序嵌入到壳里面&#xff0c;可以运行在桌面上的一个程序 把网页打包成一个在桌面运行…

php中什么是函数函数的意义是什么,php中arsort函数的功能起什么作用呢?

摘要:下文讲述php中arsort函数的功能讲解&#xff0c;如下所示&#xff1b;arsort函数功能说明:根据数组的值进行降序排列arsort语法:arsort(array,sortingtype);--------参数说明------array:必填参数,待进行操作的数组sortingtype&#xff1a;非必填参数&#xff0c;此参数值…

本月 Windows Mobile 文章推荐

今日屏幕插件和主屏幕插件的架构Architectures of the Today Screen Plug-in and the Home Screen Plug-inhttp://msdn2.microsoft.com/en-us/library/bb278109.aspxWindows Mobile 6 为开发人员提供的新功能Whats New for Developers in Windows Mobile 6http://msdn2.microso…

[vue] 开发过程中有使用过devtools吗?

[vue] 开发过程中有使用过devtools吗&#xff1f; 有&#xff0c;devtools确实是个好东西&#xff0c;大力协助vue项目开发&#xff0c;传参&#xff0c;数据展示&#xff0c;用于调试vue应用&#xff0c;这可以极大地提高我们的调试效率个人简介 我是歌谣&#xff0c;欢迎和…

Fibonacci数列(数列 取模)

问题描述Fibonacci数列的递推公式为&#xff1a;FnFn-1Fn-2&#xff0c;其中F1F21。 当n比较大时&#xff0c;Fn也非常大&#xff0c;现在我们想知道&#xff0c;Fn除以10007的余数是多少。 输入格式输入包含一个整数n。输出格式输出一行&#xff0c;包含一个整数&#xff0c;表…

nlinfit函数 matlab,Matlab中拟合函数nlinfit和lsqcurvefit的问题

我有98个数据&#xff0c;存放在data1.txt中,这是纵轴值。横轴表示时间。我想用这些数据拟合出Logistic曲线并进行预测&#xff0c;我是这样想的&#xff0c;先用三点法计算出拟合参数的估值&#xff0c;然后把这估值作初值用nlinfit或lsqcurvefit拟合。logistic曲线的模型&…

[vue] 你有使用过动态组件吗?说说你对它的理解

[vue] 你有使用过动态组件吗&#xff1f;说说你对它的理解 通过 Vue 的 元素加一个特殊的 is 特性来实现个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。放弃很容易&#xff0c; 但坚持一定很酷。欢迎大家一起讨论 主目录 与歌谣一起通关前端面试题