`
jimmy.shine
  • 浏览: 394818 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Java生成文件时的编码的问题

阅读更多

最近在做RCP应用的时候,需要生成文件,而使用编码为UTF-8。在eclipse中调试时,生成的文件的没有任何问题,将项目提交后,有小组成员提交报告说生成的字符集在UTF-8的编码集下显示为乱码。经过调试查看,发现编码集采用了GBK编码,遂不解。
通过查找文件生成的代码,定位如下:

FileWriter fileWriter = new FileWriter(file);
fileWriter.write(content);

 怀疑问题出现在FileWriter中,通过查看FileWriter的编码。在RCP的应用中加上了调试的信息。

FileWriter fileWriter = new FileWriter(file);
MessageDialog.openInformation(null, "字符集编码", fileWriter.getEncoding());

 
发现在eclipse中调试时,显示为utf8,而将RCP应用打包后,再调试时,显示为GBK。
最后经过查询时得知,在FileWriter是根据默认的平台来使用字符的编码。
如果要使用UTF-8的编码,则可改用OutputStreamWriter。
将代码改成如下:

OutputStreamWriter outputStream = new OutputStreamWriter(new FileOutputStream(file), "UTF-8");
outputStream.write(content);

 
测试,OK!

4
1
分享到:
评论
3 楼 vinalice 2012-01-11  
用FIleOutputStream是可以,FileWriter没有可以设置编码的吗?
2 楼 changyuxin 2009-09-02  
好办法!!!很受益
1 楼 jackhe 2009-06-09  

相关推荐

    Java生成pdf文件,解决中文乱码问题.pdf

    Java 生成 PDF 文件,解决中文乱码问题 Java 生成 PDF 文件,解决中文乱码问题是 Java 编程中常见的问题。解决这个问题的关键是正确地设置中文字体,以避免乱码问题。本文将通过一个完整的示例代码,详细讲解如何...

    freemaker生成静态文件时转换文件原编码GBK为UTF-8

    创建`Configuration`对象时,可以通过`setOutputEncoding("UTF-8")`来设定生成文件的目标编码为UTF-8。 4. **生成文件**: FreeMarker的`Template`对象在`process`方法中生成静态文件时,会使用配置中设定的输出...

    Java 获得文件编码格式

    在Java编程语言中,获取文件编码格式是一项重要的任务,特别是在处理不同来源的文本文件时。文件的编码格式决定了字符如何在计算机中存储和显示,不同的编码如ASCII、GBK、UTF-8等支持的字符集范围不同。这篇博客...

    使用 Java 生成 MD5 编码

    本篇文章将详细探讨如何在 Java 中生成 MD5 编码,以及其相关知识点。 MD5 是一种广泛使用的哈希函数,它能够将任意长度的输入(也叫做预映射或消息)转化为固定长度的输出,通常是一个 128 位的二进制数,通常用 ...

    JAVA生成SAV格式的Util

    标题提到的"JAVA生成SAV格式的Util"是关于利用Java编写工具类或者库来创建SPSS的特定数据格式——.sav文件。这个.SAV格式是SPSS默认的数据存储格式,它包含了变量定义和观测值,常用于统计分析。 首先,我们需要...

    JAVA生成PDF文件(Demo+jar),可加密及设置安全性

    首先,我们关注的是"JAVA生成PDF文件"。Java中常用的PDF库有iText、Apache PDFBox、 Flying Saucer等。这里提到了iText,它是一个强大的开源库,可以方便地创建、修改和操作PDF文档。使用iText,你可以添加文本、...

    Java 生成pdf文件加盖公章图片,上传阿里云

    以上就是使用Java生成PDF文件并加盖公章图片,以及上传阿里云的基本步骤和涉及的关键技术点。实际开发中可能还需要根据具体需求进行调整,例如,公章的透明度、旋转角度等,都需要通过代码进行精确控制。

    java生成word文件并下载.pdf

    `process`方法用于将模板和数据集合并生成文件。 4. **文件下载**:`downFile`方法处理文件下载。首先,根据文件路径创建一个`File`对象,然后获取文件名。根据浏览器类型(IE或非IE)设置合适的编码,以便在下载...

    java批量修改指定文件夹下多级文件编码格式

    经常碰到文件编码格式不一致导致一堆问题,想在linux上批量修改文件夹下的文件编码,操作太麻烦,花了一点时间写了个java程序来操作,用着非常方便,详情如下: 在FileEncodeTranslate类中,修改一下源文件夹路径,...

    java生成html

    在Java编程语言中,生成HTML是一种常见的任务,特别是在构建动态网站、报表生成...总之,Java生成HTML主要涉及文本处理、模板引擎和可能的XML转换技术。通过理解这些概念,你可以构建出灵活且易于维护的HTML生成系统。

    java编码注释和doc自动生成

    本文将详细介绍如何在Java编码中创建注释以及如何使用apidoc工具自动生成文档。 首先,Java提供了多种注释类型,包括单行注释、多行注释和Javadoc注释。单行注释以`//`开始,适用于快速添加临时或简单的说明。多行...

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

    - 解决Java处理CSV文件时的中文乱码问题,关键在于正确指定字符编码。 - 要注意文件的读取、写入以及处理过程中的编码一致性。 - 使用专门的CSV处理库能简化操作,并提供更好的兼容性。 - 对于复杂情况,了解并...

    Java 文件编码转换,将项目下的java文件编码由gbk与utf-8互转

    * changeFileCode 方法,4个属性:(需要转换的文件目录,转换后的文件目录,当前文件编码格式,转换成需要的文件编码); * 需要转换的文件目录,转换后的文件目录--可以为同一路径 * * @param srcDirPath 需要...

    java生成一维码

    总之,Java生成一维码主要依赖于第三方库,如ZXing。通过这些库,可以方便地将数据编码为一维码图像,然后在各种应用场景中使用,如网页、打印标签等。在实际开发中,还需要考虑到错误处理、一维码格式的选择以及与...

    Java实现的license生成器

    3. 事件监听:为按钮添加事件监听器,当用户点击“生成”按钮时,调用License生成逻辑,并将生成的License显示在文本框或者保存到文件。 4. 提示信息:提供清晰的错误提示和成功信息,帮助用户理解操作结果。 三、...

    dxf文件java写入程序源代码

    总之,通过理解DXF文件格式,编写Java程序生成DXF文件并不复杂,但需要注意兼容性和文件结构的正确性。利用开源库或自己实现相关功能,可以在没有AutocAD环境的情况下,实现与AutoCAD软件的数据交换。

    java代码生成器数据库表一键生成类文件

    同时,它也便于代码的统一和维护,因为所有类文件都是基于同一套模板生成的,风格一致,减少了因人为错误导致的问题。 在实际应用中,我们还需要注意一些事项,比如确保生成的代码符合项目的编码规范,考虑性能优化...

    哈夫曼编码算法与分析(java实现)

    哈夫曼编码是一种广泛用于数据文件压缩的十分有效的编码方法,它通过对文件中各个字符出现的频率进行分析,生成各个字符的哈夫曼编码方案。哈夫曼编码的主要思想是通过构造一棵二叉树,利用贪心算法来生成最优前缀码...

Global site tag (gtag.js) - Google Analytics