Java读取文本文件(例如csv文件、txt文件等),遇到中文就变成乱码。读取代码如下:
List<String> lines=new ArrayList<String>();
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<String> lines=new ArrayList<String>();
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编程中,CSV(Comma Separated Values)...通过以上步骤和知识点,你应该能够有效地解决Java读写CSV文件时遇到的中文乱码问题。在实际项目中,结合具体的错误现象,灵活应用这些知识就能顺利处理各种编码问题。
"Java读取TXT文本文件乱码解决方案" Java 读取 TXT 文本文件乱码解决方案中,主要讨论的是在 Java 中读取 TXT 文本文件时出现乱码的问题,并提供了解决方案。 首先,文章中提供了一个简单的读取 TXT 文件的代码,...
Java 语言在读写文件时,经常会 gặp到中文乱码的问题。这是因为 Java 默认使用的字符编码是 ISO-8859-1,而中文字符在这个编码中无法正确地表示。为了避免中文乱码,需要使用正确的编码方式来读取和写入文件。 ...
要解决Java读取TXT文件中文乱码的问题,关键在于指定正确的编码方式。以下是使用`BufferedReader`和`FileReader`读取UTF-8编码的TXT文件的示例: ```java import java.io.BufferedReader; import java.io....
在Java编程中,读取包含中文字符的...通过理解和应用这些知识点,你可以有效地解决Java读取文件时出现的中文乱码问题。在实际开发中,对文件编码的理解和处理是至关重要的,能够确保程序正确地处理各种语言和字符集。
Java 读取 TXT 文本文件时遇到乱码问题通常是由于编码格式不匹配导致的。在 Java 中,当读取文本文件时,默认使用的是平台的默认编码,这在处理某些特定编码的文件时可能会引发乱码。以下是针对这个问题的详细解释和...
本文将深入探讨如何在Java中解决Properties文件保存和读取中文乱码的挑战。 首先,我们需要理解Java默认使用ISO-8859-1编码来处理Properties文件。由于此编码不支持大部分中文字符,因此在保存或加载包含中文的...
解决Java读取中文文件出现乱码问题的步骤如下: 1. **明确文件编码**:首先需要确定文件实际采用的编码格式。这可以通过文件编辑器的属性或者使用专门的工具如Notepad++来查看。 2. **指定编码读取**:在Java中,...
在Android平台上,开发人员经常遇到一个棘手的问题,那就是如何正确地读取包含中文字符的TXT文件,因为不恰当的处理往往会导致乱码。本文将深入探讨如何彻底解决这一问题,包括自动判断文档编码类型以及进行转码操作...
### Java读写XML、Word与TXT文件:去除乱码问题详解 #### 一、引言 在实际开发过程中,我们经常需要处理各种类型的文件,包括XML、Word文档以及普通的文本文件(如TXT)。这些文件在读写过程中经常会遇到乱码问题,...
Java 读取 TXT 文本文件时遇到乱码问题通常是由于编码格式不匹配导致的。在 Java 中,当读取文本文件时,默认使用的是平台的默认编码,这在处理非 ASCII 字符时可能会出现问题,尤其是当文件采用不同编码(如 UTF-16...
在Java编程中,读写本地文件时遇到中文乱码是一个常见的问题,特别是在处理包含中文字符的文本文件时。这个问题产生的根本原因是编码不匹配。在Windows操作系统中,文件默认的编码通常是GBK,而在许多开发环境中,如...
Java解析FTP服务器文本文件 Java解析FTP服务器文本文件是指使用Java语言连接FTP服务器,上传、下载、递归目录遍历等基本操作的集合。在这个过程中,我们需要引入相关的jar包,例如cpdetector.jar、jchardet-1.0.jar...
4. **输入输出流的编码设置**:Java程序在进行文件读写或网络通信时,需要显式地指定字符集编码,以避免乱码问题的发生。 5. **浏览器与服务器间的编码一致性**:对于Web应用程序而言,客户端与服务器之间必须保持...
在Java编程语言中,将二进制文件转换为文本文档通常涉及到字符编码的理解和处理。二进制文件可以包含任何类型的数据,如图像、音频、视频或纯文本,但以非可读格式存储。而文本文档通常使用特定的字符编码(如ASCII...
java读取txt文本中如含有中文,可能会出现乱码,解决方案是: 1.要统一编码,java工程的编码,txt文本编码,java工程中的java文本编码都统一为utf-8; 2.利用 InputStreamReader(new FileInputStream(fileUrl), ...
Java Properties 类是Java标准库中...总之,Java Properties类是Java开发中处理配置文件的利器,通过它的方法可以方便地读取、修改和保存配置信息,尤其在处理包含中文字符的配置时,注意编码问题,确保数据的正确性。
在Java开发过程中,中文乱码问题是一个常见的困扰,尤其是在处理文本输入输出时。本文将深入探讨这个问题,并提供解决策略。 首先,我们需要理解字符编码的基本概念。字符编码是将字符(如汉字)转换为数字的过程,...
3. **读写文件乱码**:读写文本文件时,如果没有正确地指定文件的编码格式,也可能产生乱码。使用`BufferedReader`和`BufferedWriter`时,需要通过`InputStreamReader`和`OutputStreamWriter`指定正确的编码。 4. *...