`

文件流 读文件 乱码的正确解决方案

阅读更多
这个问题经常遇到,这里告诉大家问题的根本,也是解决问题的根本。一个文件流必须用和它的编码类型完全一致的输入流去接收才不会产生乱码。如果不说明编码类型,java默认都是按照iso-8859-1进行编码的。而我们的页面编码类型往往是gb2312或者utf-8,所以必须指明编码类型才不会出现乱码。具体操作也不难,只要按照以下两个步骤即可:

第一:必须确定文件流的编码类型。
第二:用和文件流编码类型相同的InputStreamReader去读取这个文件流。

例如:我们有一段网页获得文件流,那页面源码会非常明确的告诉您该流的类型,如下显示:
<html>
<head>
<meta http-equiv=content-type content="text/html; charset=gb2312">
......


这段文字告诉我们文件流编码是gb2312格式。这样我们的InputStreamReader即文件流读取类也需要时gb2312格式,如下:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.URL;

public class Test001 {
	public static void main(String[] args) throws IOException {
		// 定义一个url类的实例。
		URL url = new URL("http://www.baidu.com");
		// 以特定格式读取文件流。
		InputStreamReader isr = new InputStreamReader(url.openStream(),
				"gb2312");
		BufferedReader br = new BufferedReader(isr);
		String s;
		while (null != (s = br.readLine())) {
			System.out.print(s);
		}
	}
}



明白了上面的道理,在读取任何流的时候都都会是乱码了。

另外运行上面的代码,您还会获得一个效果:在本地打印baidu首页的源码。

文章地址:http://javapub.iteye.com/blog/719523
3
3
分享到:
评论
1 楼 wenyizeng 2011-12-06  
嗯 不错  

相关推荐

    Java读取TXT文本文件乱码解决方案.doc

    Java 读取 TXT 文本文件乱码解决方案 Java 读取 TXT 文本文件时可能会出现乱码问题,这个问题是由于字符集编码不正确引起的。解决方案是使用正确的编码方式读取文本文件。下面是详细的解决方案: 首先,需要了解 ...

    eclipse下properties文件中文乱码的解决方案

    ### Eclipse下Properties文件中文乱码解决方案详析 在IT开发领域,尤其是使用Eclipse作为集成开发环境(IDE)的开发者,经常会遇到一个令人头疼的问题——Properties文件中的中文字符出现乱码。这一现象不仅影响...

    JSP乱码 N种解决方案

    本文将深入探讨“JSP乱码”的多种解决方案,并提供实用的解决策略。 1. **理解字符编码的基本概念** - 字符编码是计算机对文字进行存储和处理的标准,常见的有ASCII、GBK、UTF-8等。 - JSP页面默认使用ISO-8859-1...

    java读写csv文件,中文乱码问题

    下面我们将深入探讨如何在Java中正确地读取和写入CSV文件,以及解决中文乱码的问题。 1. **字符编码的理解**: - 在处理中文字符时,必须确保使用正确的字符编码,例如UTF-8。UTF-8是一种广泛支持的编码格式,可以...

    乱码解决 乱码解决 乱码解决 乱码解决 乱码解决

    下面将详细讨论乱码产生的原因、解决方案以及如何预防。 一、乱码产生的原因 1. **编码格式不一致**:不同系统、软件或文件可能采用不同的字符编码,如ASCII、GBK、UTF-8等。当这些编码格式不兼容时,就会出现乱码...

    解决Arcgis10.2.2中dbf文件用EXCEL打开乱码问题

    6. **批处理解决方案**:如果你有大量的dbf文件需要处理,可以编写批处理脚本(如Python或VBScript)来自动转换文件编码或导出到Excel。 7. **更新软件版本**:考虑升级ArcGIS到最新版本,因为新版本可能会修复已知...

    Java读取TXT文本文件乱码解决方案.pdf

    总之,Java 读取 TXT 文件乱码的解决方案在于确定文件的正确编码,并在读取时指定该编码。通过使用 `InputStreamReader` 并传递正确的编码字符串,可以有效地解决这类问题。同时,了解各种编码格式的特点以及如何...

    JSP乱码解决方案

    本文将深入探讨JSP乱码的原因及其解决方案,帮助开发者有效地处理这类问题。 ### 1. JSP乱码的成因 - **字符集设置不一致**:JSP文件、HTML页面、HTTP头、Servlet输出以及数据库存储等环节的字符集设置不一致,...

    springboot乱码问题解决方案

    SpringBoot乱码问题解决方案可以通过配置文件中添加编码设置和Maven插件配置来解决。开发者可以根据实际情况选择适合的解决方案,以确保项目的正确运行。 五、参考文献 * SpringBoot官方文档: * Maven官方文档: ...

    ZipOutputStream 压缩文件以及乱码问题解决方案

    确保整个项目的资源文件都以UTF-8编码读取,避免在压缩过程中出现乱码。 总的来说,使用`ZipOutputStream`压缩文件需要注意文件名的编码问题,特别是处理包含非ASCII字符的文件名。通过指定正确的编码,我们可以...

    CHM文件打开乱码问题解决方案

    本文将深入探讨CHM文件乱码的原因,并提供一系列解决方案。 #### 一、CHM文件乱码原因分析 1. **编码不匹配**:CHM文件中的文本默认使用的是Windows ANSI编码,但不同地区的Windows系统可能有不同的默认编码设置。...

    工作流乱码解决方案

    "工作流乱码解决方案"这个主题就针对Activiti5在处理中文或其他非ASCII字符时可能出现的显示异常进行探讨。 Activiti5是一个开源的工作流和业务流程管理平台,它基于Java,支持BPMN 2.0标准,为企业提供了一套强大...

    Lua文件反编译汉字乱码处理

    在提供的压缩包文件中,"LuaChineseCharDeal.sln"是Visual Studio的解决方案文件,用于组织和管理项目。"LuaChineseCharDeal.v12.suo"是用户选项文件,存储了用户特定的设置,如最近打开的文件列表。至于...

    U盘文件的乱码解决方案及相关数据恢复

    当U盘出现文件乱码、格式化问题、RAW文件系统状态以及FOLDER FORCEDHIDDEN等问题时,这通常是由于不正确的拔插操作、文件系统损坏或病毒感染等原因所致。以下是一些针对这些问题的解决策略。 首先,不要立即假设是...

    Tomcat 在IE中下载rar文件为乱码解决方案

    ### Tomcat 在IE中下载rar文件为乱码解决方案 #### 问题背景 在使用Tomcat作为Web服务器的应用程序中,可能会遇到一个常见的问题:当用户尝试通过Internet Explorer(IE)浏览器下载rar格式的文件时,文件会被误...

    java读取远程网页乱码解决方案

    本文将深入探讨这个问题,提供有效的解决方案,确保正确地读取和处理远程网页的字符编码。 首先,理解网页编码至关重要。网页通常使用UTF-8、GBK等字符集编码,Java在读取时必须识别并匹配这种编码,才能正确解析...

    解决方案_EXCEL打开Tableau导出数据存在中文乱码情况的解决方案

    解决方案_EXCEL打开Tableau导出数据存在中文乱码情况的解决方案...解决方案_EXCEL打开Tableau导出数据存在中文乱码情况的解决方案可以帮助我们避免中文乱码的问题,确保从Tableau中导出的数据可以正确地显示在EXCEL中。

    java 解析csv文件例子,csv文件 中文乱码问题

    你可以尝试以下几种解决方案: 1. **确定正确的编码**:确认CSV文件的实际编码。可以使用一些工具,如Notepad++,查看或更改文件的编码。 2. **使用`CharsetDetector`**:如果不确定编码,可以使用Apache Commons ...

    解决Ubuntu和Windows的文件乱码问题

    3. 解压zip文件乱码的解决方案。除了使用unzip命令,我们还可以安装7-zip来解压zip文件,配合convmv使用解决乱码问题。安装7-zip和convmv的命令是sudo apt-get install convmv p7zip-full,解压zip文件的命令是 LANG...

    Qt中文乱码完美解决方案.docx

    Qt 中文乱码解决方案 在 Qt 开发中,中文乱码问题是一常见的问题,特别是在 UTF-8 编码格式下。为了解决这个问题,我们需要从源头解决乱码问题,包括源文件的编码格式和 QSS 文件的使用问题。 源文件编码格式 在 ...

Global site tag (gtag.js) - Google Analytics