`
digyso
  • 浏览: 142676 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

在Java中读写UTF-8编码文件

阅读更多

在C#中,采用System.IO.StreamReader和System.IO.StreamWriter直接读写UTF-8编码的文件,因为在这两个类可以指定读取或者写入文件的编码格式,而其默认编码则是UTF-8。

而在Java中,如果我们用java.io.FileReader或者java.io.FileWriter来读写文件的话,固然我们可以通过 java.io.BufferedReader和java.io.BufferedWriter来提高效率,但是我们会发现在FileReader和 FileWriter中我们只能获取编码方式,而不能设置。这样,在FileReader和FileWriter中的编码设置只能服从于一些更为底层的设置,那么在读写多种语言编码的文件时就很容易出现乱码。

另外一种方法就是采用java.io.FileInputStream/java.io.InputStreamReader和 java.io.FileOutputStream/java.io.OutputStreamWriter来解决这个问题。在 InputStreamReader和OutputStreamWriter中,可以通过指定编码方式来完成UTF-8文件的读写。

比如:
java.io.BufferedWriter writer = null;
java.io.FileOutputStream writerStream = new java.io.FileOutputStream(filename);
writer = new java.io.BufferedWriter(new java.io.OutputStreamWriter(writerStream, "UTF-8"));
// do something
// writing file
writer.close();


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/socrates/archive/2008/07/27/2721018.aspx

分享到:
评论

相关推荐

    java jsp解决utf-8乱码.zip

    在Java JSP开发中,遇到UTF-8编码导致的乱码问题是一个常见的困扰。这个问题主要涉及到字符编码的统一和正确处理。UTF-8是一种广泛使用的Unicode字符编码方案,它可以支持几乎所有的字符集,包括中文、日文和韩文。...

    java 编码 UTF-8、ISO-8859-1、GBK

    在Java中,UTF-8 支持国际化,是处理多种语言的理想选择,因为它具有良好的向后兼容性,并且通常不需要额外的转换。 ISO-8859-1,又称为Latin-1,是一种单字节编码,只包含西欧语言的基本拉丁字母。在处理英文为主...

    快速转码(UTF-8转ASCII)

    由于ASCII编码的局限性,它无法直接识别和处理UTF-8编码中的非英文字符,因此需要进行转换。 实现UTF-8转ASCII的方法有很多,这里我们主要探讨Java的实现方式。在Java中,可以使用`java.nio.charset.Charset`类的`...

    xml.rar_UTF XML_UTF-8编码_utf_utf-8_xml utf-8

    总之,XML文件的处理涉及到了编码的读取、写入和转换,尤其是UTF-8编码,它在XML中扮演着核心角色。理解和掌握这些知识对于进行XML相关开发至关重要,无论是处理本地化的文本数据,还是进行跨平台的数据交换,都需要...

    java读写Xml文件(UTF-8) 【一】

    本文将详细介绍如何使用Java进行XML文件的读取和写入,特别是在处理UTF-8编码时需要注意的事项。 首先,要处理XML文件,我们需要引入Java的标准库`javax.xml.parsers`和`org.w3c.dom`。这些库提供了DOM(Document ...

    【源代码】明解Java-UTF-8.rar

    通过分析这些源代码,初学者可以了解到如何在实际项目中应用UTF-8编码,同时加深对Java语言特性的理解。此外,还可以学习到如何处理异常、调试技巧以及遵循良好的编程规范,这些都是成为一名合格Java开发者所必需的...

    批量将Java源代码文件的编码从GBK转为UTF-8

    标题提到的“批量将Java源代码文件的编码从GBK转为UTF-8”是一个常见的需求,因为GBK编码是中国大陆广泛使用的编码方式,但它并不兼容Unicode,而UTF-8编码则是一种更通用的Unicode实现,能兼容多种语言字符。...

    GBK文件夹转化UTF-8 支持文件名

    这个`GBK2UTF8Demo`程序首先遍历源GBK编码的文件夹,对每个非目录文件进行读取、编码转换并写入到目标UTF-8编码的文件夹中。文件的最后修改时间和类型信息也一并被保留。如果是目录,程序会更新目录的名称,将"GBK...

    Delphi中UTF-8,Unicode格式转换

    delphi7调用delphi2009生成的dll文件会出现乱码问题。是unicode的原因 终于找到了UTF-8、Unicode格式转换函数

    Struts中文预处理UTF-8

    在Struts框架中,预处理成UTF-8编码的主要目标是确保请求参数和响应内容都能正确地处理中文字符。 首先,我们需要理解Struts的请求处理流程。当一个HTTP请求到达服务器时,Struts框架会使用一个名为`ActionServlet`...

    Python-convert2utf将目录下的全部源文件转成UTF8编码

    标题"Python-convert2utf将目录下的全部源文件转成UTF8编码"指的是使用Python编写的一个脚本或工具,该工具能够遍历指定目录,检测并转换其中的GB、GBK以及其他非UTF-8编码的文本文件和源代码文件,统一转换为UTF-8...

    utf8与string的相互转换

    在Java中,String类也是用于存储和操作字符序列,同样支持UTF-8编码。 实现UTF-8与字符串之间的转换通常需要特定的函数或方法。在Python中,你可以使用内置的`encode`和`decode`函数进行转换: ```python # 字符串...

    gbk转utf-8批量转换

    批量转换通常涉及到大量的文本文件或代码文件,例如在软件本地化、网站迁移或跨平台开发中,可能需要将GBK编码的文件转换为UTF-8编码,以便在支持UTF-8的环境中正确显示和处理中文字符。这个过程可以通过编写脚本或...

    Carmela提供基于PHP,PHP扩展,JAVA,C++等语言的一套处理4四节UTF-8解决方案

    3. **文件读写**:在读取或写入包含UTF-8编码的文本文件时,需要正确设置文件编码,避免乱码问题。 4. **国际化与本地化**:如果Carmela涉及多语言支持,可能会用到PHP的`gettext`或`intl`扩展,以实现动态切换语言...

    深入UTF8字符编码

    - BOM(Byte Order Mark):UTF-8编码的文件可以带有一个可选的BOM标记,用于指示数据流的字节顺序,但某些工具或程序可能不支持带BOM的UTF-8。 - 乱码问题:检查文件读取和写入时的编码设置,确保一致。 - 汉字全角...

    java读写excel包括utf8转码为可识别汉字gbk

    java读写excel包括utf8转码为可识别汉字gbk,jxl方式读取excel,生成一个新的excel

    android POST数据遇到的UTF-8编码(乱码)问题解决办法

    在示例中,字符“·”(MIDDLE DOT,Unicode U+00B7)在UTF-8编码下应为"C2 B7",但在ISO-8559-1编码下仅表示为"B7"。由于HTTP请求默认使用ISO-8859-1编码,当客户端未明确指定编码时,async-http库会按照此编码格式...

    Java中文乱码浅析及解决方案

    为了解决这个问题,我们可以统一Java编译器和源文件编码,例如在IDEA中设置项目编码为UTF-8,并在POM.XML中配置UTF-8编码: ```xml <!-- java 源文件编码 --> <project.build.sourceEncoding>UTF-8 ...

    unicode-utf8

    还需要熟悉相关的编程接口和库函数,例如在Python中可以使用`open()`函数的`encoding='utf-8'`参数来指定文件的编码方式,而在Java中可以使用`InputStreamReader`和`BufferedReader`类组合来读取UTF-8编码的文件。...

    java读写文件避免中文乱码.docx

    这样,在读取文件时,Java 就会使用 UTF-8 编码来解析文件内容,从而避免中文乱码。 写入文件避免中文乱码 在写入文件时,也需要使用正确的编码方式来保存文件内容。Java 提供了多种方式来写入文件,例如使用 `...

Global site tag (gtag.js) - Google Analytics