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文件读取时发生中文乱码怎么解决相关推荐

  1. java导出excel 乱码_java导出excel时出现文件名乱码解决方法

    java解决导出Excel时文件名乱码的方法示例:(推荐:java视频教程)String agent = request.getHeader("USER-AGENT").toLow ...

  2. java excel 中文乱码_java中读取excel文件中字符串乱码问题解决方法

    以前的时候发现直接java读取一个excel文件输出里面的字符串会乱码,中文字符不会乱码,但是遇到英文的时候输出会乱码.这个问题太奇怪了. 我的表格名字为Shirley.xls. 我曾经直接读取exc ...

  3. java计算文件里的总分_java程序读取txt文件并计算总分 求帮忙

    展开全部 你这个不难,就是字符串处理, 你的文件修改下:每行两两元素636f70793231313335323631343130323136353331333332636336之间的空格用一个,如果超 ...

  4. java怎么读取文件夹下的_java怎么读取读取文件夹下的所有文件夹和文件?

    下是实现的代码:package com.borland.samples.welcome; import java.io.FileNotFoundException; import java.io.IO ...

  5. java 调用 dll 乱码_java调用c++ dll出现中文乱码

    最近的开发用到了使用java调用本机动态连接库的功能,将文件路径通过java调用C++代码对文件进行操作.在调用中如果路径中包含有中文字符就会出现问题,程序运行就会中止.下面用一个小例子,来说明记录下 ...

  6. java excel row遍历空_Java poi读取,写入Excel,处理row和cell可能为空的情况

    首先需要导入包 import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.poifs.filesystem.NP ...

  7. java文件读写详细介绍_java文件读写操作大全

    一.获得控制台用户输入的信息public String getInputMessage() throws IOException...{ System.out.println("请输入您的命 ...

  8. java dll 乱码_java调用c++ dll出现中文乱码 | 学步园

    最近的开发用到了使用java调用本机动态连接库的功能,将文件路径通过java调用C++代码对文件进行操作.在调用中如果路径中包含有中文字符就会出现问题,程序运行就会中止.下面用一个小例子,来说明记录下 ...

  9. java读取yaml数据_Java类读取Yaml内罐

    我试图从罐子内的另一个类读取罐子内的文件.但是,我不断收到相同的错误:尝试读取度量标准时,捕获了类java.io.FileNotFoundException:metrics.yml 首先,让我的代码做 ...

最新文章

  1. MySQL 优化必经之路, Explain执行计划 ?
  2. spoj Find Log
  3. Linux配置Java,kafka,Hadoop等环境变量
  4. 《致命躯壳》:不完美,却有着独特之处的轻量级魂like新作
  5. 怎样让外界无法改变自定义view的尺寸大小
  6. Create new Fiori catalog group via personalization
  7. python巩固函数和模块_Python学习教程6:函数,模块和类的使用
  8. PBR:双向反射分布函数(BRDF)介绍与Cook-Torrance模型的实现
  9. 初学者一些常用的SQL语句(二)
  10. 汉字转换成拼音、获取拼音转换
  11. VS2019+DCMTK3.6.6环境配置
  12. 【sketchup 2021】草图大师的辅助建模工具1【量角器与文字、尺寸标注与三维字、实体工具】
  13. Solidworks二次开发 Addin模版使用
  14. Fortify 5.1漏洞整改方案
  15. 中华万年历头条数据聚合优化之路
  16. 自动连接 无法连接网络连接服务器,微信提示无法连接到服务器怎么办?微信无法连接服务器怎么解决?...
  17. Scratch(三):跳一跳
  18. mac 升级php7.3版本之后Redis扩展升级(phpredis)
  19. android11 定位权限页面不显示始终允许
  20. 禁果效应在游戏剧情中会有什么样的作用

热门文章

  1. 实习证明| 大数据在线实习项目意义
  2. 金山网盾3.0正式版 免费安全辅助软件
  3. 计算机安全模式启动时蓝屏,电脑蓝屏开机按f8进入安全模式后还是蓝屏的,怎么处理?...
  4. 十分钟理解线性代数的本质_“线性代数的本质”整理笔记1
  5. 【已解决】笔记本电脑关闭盖子后出现死机
  6. c语言程序设计第三版 孩子身高,C语言的那些题(三) ―― 编程计算身高问题
  7. 5G扬帆 -- 2022中国国际信息通信展推出数字医疗健康展区
  8. 35 行代码实现一个简单的 shell
  9. LWN: 回顾一下UMN 大学的那次事件!
  10. gocolly-OnResponse的使用(3)