java 文件读取中文乱码_java文件读取时发生中文乱码怎么解决
java文件读取时发生中文乱码怎么解决
发布时间:2020-06-23 09:33:47
来源:亿速云
阅读:59
作者:Leah
java文件读取时发生中文乱码怎么解决?这篇文章运用了实例代码展示,代码非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
最近遇到一个问题,Java读取文本文件(例如csv文件、txt文件等),遇到中文就变成乱码。
读取代码如下:List lines=new ArrayList();
BufferedReader br = new BufferedReader(new FileReader(fileName));
String line = null;
while ((line = br.readLine()) != null) {
lines.add(line);
}
br.close();
原理
Java的I/O类处理如图:
Reader 类是 Java 的 I/O 中读字符的父类,而 InputStream 类是读字节的父类,InputStreamReader 类就是关联字节到字符的桥梁,它负责在 I/O 过程中处理读取字节到字符的转换,而具体字节到字符的解码实现它由 StreamDecoder 去实现。
在 StreamDecoder 解码过程中必须由用户指定 Charset 编码格式。值得注意的是如果你没有指定 Charset,将使用本地环境中的默认字符集,例如在中文环境中将使用 GBK 编码。
总结:Java读取数据流的时候,一定要指定数据流的编码方式,否则将使用本地环境中的默认字符集。
经过上述分析,修改之后的代码如下:List lines=new ArrayList();
BufferedReader br=new BufferedReader(new InputStreamReader(new FileInputStream(fileName),"UTF-8"));
String line = null;
while ((line = br.readLine()) != null) {
lines.add(line);
}
br.close();
到此为止, 关于java文件读取时发生中文乱码解决方法有了一个基础的认识, 但是对于具体的使用方法还是需要多加巩固和练习,如果想了解更多相关内容,请关注亿速云行业资讯。
java 文件读取中文乱码_java文件读取时发生中文乱码怎么解决相关推荐
- java导出excel 乱码_java导出excel时出现文件名乱码解决方法
java解决导出Excel时文件名乱码的方法示例:(推荐:java视频教程)String agent = request.getHeader("USER-AGENT").toLow ...
- java excel 中文乱码_java中读取excel文件中字符串乱码问题解决方法
以前的时候发现直接java读取一个excel文件输出里面的字符串会乱码,中文字符不会乱码,但是遇到英文的时候输出会乱码.这个问题太奇怪了. 我的表格名字为Shirley.xls. 我曾经直接读取exc ...
- java计算文件里的总分_java程序读取txt文件并计算总分 求帮忙
展开全部 你这个不难,就是字符串处理, 你的文件修改下:每行两两元素636f70793231313335323631343130323136353331333332636336之间的空格用一个,如果超 ...
- java怎么读取文件夹下的_java怎么读取读取文件夹下的所有文件夹和文件?
下是实现的代码:package com.borland.samples.welcome; import java.io.FileNotFoundException; import java.io.IO ...
- java 调用 dll 乱码_java调用c++ dll出现中文乱码
最近的开发用到了使用java调用本机动态连接库的功能,将文件路径通过java调用C++代码对文件进行操作.在调用中如果路径中包含有中文字符就会出现问题,程序运行就会中止.下面用一个小例子,来说明记录下 ...
- java excel row遍历空_Java poi读取,写入Excel,处理row和cell可能为空的情况
首先需要导入包 import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.poifs.filesystem.NP ...
- java文件读写详细介绍_java文件读写操作大全
一.获得控制台用户输入的信息public String getInputMessage() throws IOException...{ System.out.println("请输入您的命 ...
- java dll 乱码_java调用c++ dll出现中文乱码 | 学步园
最近的开发用到了使用java调用本机动态连接库的功能,将文件路径通过java调用C++代码对文件进行操作.在调用中如果路径中包含有中文字符就会出现问题,程序运行就会中止.下面用一个小例子,来说明记录下 ...
- java读取yaml数据_Java类读取Yaml内罐
我试图从罐子内的另一个类读取罐子内的文件.但是,我不断收到相同的错误:尝试读取度量标准时,捕获了类java.io.FileNotFoundException:metrics.yml 首先,让我的代码做 ...
最新文章
- MySQL 优化必经之路, Explain执行计划 ?
- spoj Find Log
- Linux配置Java,kafka,Hadoop等环境变量
- 《致命躯壳》:不完美,却有着独特之处的轻量级魂like新作
- 怎样让外界无法改变自定义view的尺寸大小
- Create new Fiori catalog group via personalization
- python巩固函数和模块_Python学习教程6:函数,模块和类的使用
- PBR:双向反射分布函数(BRDF)介绍与Cook-Torrance模型的实现
- 初学者一些常用的SQL语句(二)
- 汉字转换成拼音、获取拼音转换
- VS2019+DCMTK3.6.6环境配置
- 【sketchup 2021】草图大师的辅助建模工具1【量角器与文字、尺寸标注与三维字、实体工具】
- Solidworks二次开发 Addin模版使用
- Fortify 5.1漏洞整改方案
- 中华万年历头条数据聚合优化之路
- 自动连接 无法连接网络连接服务器,微信提示无法连接到服务器怎么办?微信无法连接服务器怎么解决?...
- Scratch(三):跳一跳
- mac 升级php7.3版本之后Redis扩展升级(phpredis)
- android11 定位权限页面不显示始终允许
- 禁果效应在游戏剧情中会有什么样的作用
热门文章
- 实习证明| 大数据在线实习项目意义
- 金山网盾3.0正式版 免费安全辅助软件
- 计算机安全模式启动时蓝屏,电脑蓝屏开机按f8进入安全模式后还是蓝屏的,怎么处理?...
- 十分钟理解线性代数的本质_“线性代数的本质”整理笔记1
- 【已解决】笔记本电脑关闭盖子后出现死机
- c语言程序设计第三版 孩子身高,C语言的那些题(三) ―― 编程计算身高问题
- 5G扬帆 -- 2022中国国际信息通信展推出数字医疗健康展区
- 35 行代码实现一个简单的 shell
- LWN: 回顾一下UMN 大学的那次事件!
- gocolly-OnResponse的使用(3)