广告
返回顶部
首页 > 资讯 > 后端开发 > JAVA >java文件读取中文乱码的原因与解决方法
  • 274
分享到

java文件读取中文乱码的原因与解决方法

java 2015-03-18 08:03:14 274人浏览 无得
摘要

最近遇到一个问题,Java读取文本文件(例如csv文件、txt文件等),遇到中文就变成乱码。(推荐:java视频教程)读取代码如下:List lines=new ArrayList(); BufferedReader br = ne

最近遇到一个问题,Java读取文本文件(例如csv文件、txt文件等),遇到中文就变成乱码。(推荐:java视频教程

读取代码如下:

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 编码。

1.jpg

总结: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基础教程栏目。

--结束END--

本文标题: java文件读取中文乱码的原因与解决方法

本文链接: https://www.lsjlt.com/news/1787.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • java文件读取中文乱码的原因与解决方法
    最近遇到一个问题,Java读取文本文件(例如csv文件、txt文件等),遇到中文就变成乱码。(推荐:java视频教程)读取代码如下:List lines=new ArrayList(); BufferedReader br = ne...
    99+
    2015-03-18
    java
  • java读取文件中文乱码解决方法介绍
    Java读取文本文件(例如csv文件、txt文件等),遇到中文就变成乱码。(推荐:java视频教程)读取代码如下:List lines=new ArrayList(); BufferedReader br = new Buffere...
    99+
    2020-12-12
    java基础 java
  • java读取txt文件乱码解决方法
    java读取txt文件,如果编码格式不匹配,就会出现乱码现象。所以读取txt文件的时候需要设置读取编码。txt文档编码格式都是写在文件头的,在程序中需要先解析文件的编码格式,获得编码格式后,在按此格式读取文件就不会产生乱码了。(推荐:jav...
    99+
    2016-06-11
    java
  • java读取中文乱码解决方法
    Java读取文本文件(例如csv文件、txt文件等),遇到中文就变成乱码。读取代码如下:List lines=new ArrayList(); BufferedReader br = new BufferedReader(new F...
    99+
    2018-10-05
    java 乱码
  • java文件读取出现乱码解决方法
    java读取文件出现乱码解决方法:(推荐:java视频教程)首先将要读取的文本文件的编码格式设置为UTF-8使用InputStreamReader类取读取文件,因为它的构造方法中可以指定字符集,将它的字符集指定为UFT-8的格式。例:Buf...
    99+
    2020-06-12
    java 乱码
  • node 读取文件乱码的解决方法
    小编给大家分享一下node 读取文件乱码的解决方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! n...
    99+
    2022-10-19
  • java读文件乱码解决方法介绍
    使用java读取磁盘文件内容容易出现乱码, 问题是由于java使用的编码和被读取文件的编码不一致导致的。(推荐:java视频教程)假设有一个test.txt的文本文件,文件内容为:“测试java读取中文字符串乱码问题”, 其中包含中文,文件...
    99+
    2020-03-06
    java 乱码
  • java读写html文件乱码解决方法
    JAVA读取文件,避免中文乱码。 public static String readFile(String filePathAndName) { String fileContent = ""; try { File f =...
    99+
    2015-05-06
    java 乱码
  • java避免读取文件乱码的方法
    有时候我们读取文件的时候切换了utf-8、gbk、gb2312几种编码方式,但是还是乱码,这个时候我们要去查看一下文件的编码方式:(推荐:java视频教程)在Vim中可以直接查看文件编码:set fileencoding在subline中查...
    99+
    2020-03-04
    java
  • 解决.properties文件中文读取乱码问题(idea Java)
    一、 对于.properties文件的读取容易出现的中文读取乱码问题 原始代码 未加读取.properties文件的规则 public class CityCodeUtils { private...
    99+
    2023-09-11
    java intellij-idea 开发语言 学习
  • java读取csv文件乱码怎么解决
    csv文件默认编码为ANSI,java读取CSV出现乱码主要是编码不一致问题。(推荐:java视频教程)DataInputStream in = new DataInputStream(new FileInputStream(new Fil...
    99+
    2020-07-07
    java 乱码
  • java汉字乱码的原因与解决方法
    在基于Java的编程中,经常会碰到汉字的处里及显示的问题,比如一大堆乱码或问号。这是因为JAVA中默认的编码方式是UNICODE,而中国人通常使用的文件和DB都是基于GB2312或者BIG5等编码,故会出现此问题。推荐:java基础教程1、...
    99+
    2021-11-01
    java
  • java文件名中文乱码解决方法
    JAVA文件下载时乱码有两种情况:(推荐:java视频教程)1,下载时中文文件名乱码2,下载时因为路径中包含中文文件名乱码,提示找不到文件解决方法见下面部分代码response.setContentType("multipart/form-...
    99+
    2019-04-23
    java
  • Java读取properties文件之中文乱码问题及解决
    目录Java读取properties文件中文乱码两种方式读取properties配置文件方式一:使用Properties集合工具类读取配置文件。方式二:使用ResourceBundl...
    99+
    2022-12-29
    Java读取properties文件 Java中文乱码 Java properties文件
  • java出现乱码的原因与解决方法详解
    java在字符串中统一用Unicode表示。(推荐:java视频教程)对于任意一个字符串:String string = “测试字符串”;如果源文件是GBK编码,操作系统默认环境编码也为GBK,那么编译的时候,JVM将按照GBK编码将字节数...
    99+
    2017-02-06
    java基础 java 乱码
  • .Net Core读取文件时中文乱码问题的解决方法分享
    目录背景问题.NET Framework 中的默认属性.NET Core 上的默认属性解决办法附.Net Core下读取配置文件中文乱码总结背景 今天在使用core web api上...
    99+
    2022-11-13
  • java读取json数据中文乱码解决
    java读取json数据出现乱码的代码:(推荐:java视频教程)//从json文件中读取数据 StringBuffer stringBuffer = new StringBuffer(); try { BufferedRea...
    99+
    2021-06-27
    java 乱码
  • python中urllib.unquote乱码的原因与解决方法
    发现问题 Python中的urllib模块用来处理url相关的操作,unquote方法对应javascript中的urldecode方法,它对url进行解码,把类似"%xx"的字符替换成单个字符,例如:“%...
    99+
    2022-06-04
    乱码 解决方法 原因
  • R语言中RStudio中文读取乱码的解决方法
    这期内容当中小编将会给大家带来有关R语言中RStudio中文读取乱码的解决方法,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。RStudio中使用rjson包读取处理json数据时,遇到中文会显示为 “&l...
    99+
    2023-06-02
  • php读文件内容乱码的解决方法
    这篇文章主要介绍了php读文件内容乱码的解决方法,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。php读文件内容乱码的解决办法:1、检查HTML模板页头是否设置默认编码;2、把...
    99+
    2023-06-14
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作