`
michaellou
  • 浏览: 55731 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

gb2312编码文件转成utf8

 
阅读更多
package com.common;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;

public class ChangeEncoding {

    public static void main(String[] args) {
        String directory = "D:/tt/sdg_dw_tbgamenamedim5.txt";
//        String suffix = ".txt";
//        String fromEncoding = "gbk";
//        String toEncoding = "utf-8";
//        change(directory, suffix,fromEncoding, toEncoding);
        convertGBKtoUTF8(directory);

    }

    public static void convertGBKtoUTF8(String dir){
    String suffix = ".txt";
         String fromEncoding = "gbk";
         String toEncoding = "utf-8";
         change(dir, suffix,fromEncoding, toEncoding);
    }
    /**
     * 将指定目录directory(包含子目录)下的指定后缀名为suffix的文件,统一从编码格式为fromEncoding更改为toEncoding
     */
    public static void change(String directory, String suffix, String fromEncoding, String toEncoding) {
        File dir = new File(directory);
        if (dir.isDirectory()) {
            File[] list = dir.listFiles();
            for (int i = 0; i < list.length; i++) {
                File file = list[i];
                changeFileCoding(suffix, fromEncoding, toEncoding, file);
            }

        }else if(dir.isFile()){
        changeFileCoding(suffix, fromEncoding, toEncoding, dir);
       
        }
    }

private static void changeFileCoding(String suffix, String fromEncoding,
String toEncoding, File file) {
if (file.isFile() && file.getName().toLowerCase().endsWith(suffix)) {
    System.out.println(file.getPath());
    try {
        InputStream in = new FileInputStream(file);
        BufferedReader br = new BufferedReader(new InputStreamReader(in, fromEncoding));
        File temp = new File(file.getPath() + ".tmp");
        OutputStream out = new FileOutputStream(temp);
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(out, toEncoding));
        String line = null;
        while ((line = br.readLine()) != null) {
            bw.write(line+"\r\n");
        }
        br.close();
        in.close();
        bw.close();
        out.close();
        file.delete();
        temp.renameTo(file);

    } catch (Exception e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

} else if (file.isDirectory()) {
    change(file.getPath(), suffix, fromEncoding, toEncoding);
}
}

}
分享到:
评论

相关推荐

    批量编码转换,批量把GB2312编码的文件转成UTF-8编码

    批量编码转换,把大量GB2312编码的文件,快速转成UTF-8编码

    批量文件编码转换工具(Utf-8转GB2312、GB2312转Utf-8)

    本文将深入探讨批量文件编码转换工具,特别是“Utf-8转GB2312”与“GB2312转Utf-8”的转换过程,以及如何利用此类工具进行高效操作。 标题中的“批量文件编码转换工具”是指一种能够一次性处理大量文件,改变它们...

    转换为GB2312.bat转换为UTF8.bat

    标题和描述中提到的"转换为GB2312.bat转换为UTF8.bat"暗示了这是一个批处理(batch script)文件,用于在两种不同的字符编码之间进行转换:GBK(GB2312)和UTF-8。GBK是中国大陆广泛使用的简体中文编码标准,而UTF-8...

    目前最好用的GB2312和UTF8编码互转工具

    提到的“目前最好用的GB2312和UTF8编码互转工具”可能是一款高效的软件,能够快速、稳定地完成这两种编码间的转换。尽管偶尔会出现个别文件的小错误,但整体而言,它的速度和稳定性表现优秀。对于那些需要处理大量...

    GB2312简体文字在线转换UTF8代码转换工具

    GB2312简体文字在线转换UTF8代码转换工具

    UTF-8与GB2312文件编码转换(支持批量文件)

    总而言之,这个基于Qt5.9开发的文件编码转换工具,能够帮助用户批量处理UTF-8与GB2312编码的转换,解决因编码不匹配导致的乱码问题。同时,由于采用了Qt框架,该工具具备了跨平台、丰富的功能集以及良好的用户体验。...

    编码转换器 绿色版 gb2312 gbk utf-8

    5. **字符转换gb2utf8**:这个压缩文件中的"字符转换gb2utf8"很可能是一个程序或脚本,用于将GB2312编码的文件转换成UTF-8编码。在实际操作中,用户可能需要先将文件解压缩,然后运行该程序,按照提示完成转换过程。...

    STM32 C 语言转换 utf8 gb2312

    例如,从UTF-8转GB2312可能需要先解析UTF-8编码的字节序列,然后找到对应的GB2312编码。 5. **内存管理**:在嵌入式环境中,内存资源有限,因此在进行编码转换时要考虑内存的高效使用,避免不必要的内存开销。 6. ...

    GB2312转UTF-8(C代码)

    GB2312和UTF-8是两种不同的字符编码标准,它们各自有其特点和适用范围。本资源提供了一个C语言实现的GB2312到UTF-8的转换函数,方便开发者在需要进行这种编码转换时使用。 GB2312是中国大陆早期广泛使用的简体中文...

    网页编码转换工具GB2312转换UTF-8

    “GB2312转换UTF-8”工具提供了一种便捷的解决方案,能够将使用GB2312编码的文件转换为UTF-8编码,确保在各种设备和浏览器上都能正常显示。同时,工具也支持反向操作,即UTF-8转GB2312,以满足特定场景的需求。 ...

    VB6.0 UTF-8转换GB2312函数

    在VB6.0编程环境中,有时我们需要处理不同字符编码之间的转换,例如将UTF-8编码的字符串转换为GB2312编码。UTF-8是一种广泛使用的Unicode编码,而GB2312是中国大陆常用的简体中文字符集,主要用于早期的计算机系统。...

    utf-8 互转 gb2312 转码

    例如,读取GB2312编码的文件并写入UTF-8编码的文件: ```python with open('input.txt', 'r', encoding='gb2312') as f_in: content = f_in.read() with open('output.txt', 'w', encoding='utf-8') as f_out: f...

    MFC UTF-8文件批量转成GB2312 解决中文乱码问题

    在本场景中,我们面对的问题是“MFC UTF-8文件批量转成GB2312 解决中文乱码问题”,这涉及到文件的读取、编码转换以及文件的写入操作。 首先,我们需要理解UTF-8和GB2312这两种编码的区别。UTF-8是一种变长的...

    修改xml文件的编码格式:GB2312格式修改为UTF-8

    修改xml文件的编码格式:GB2312格式修改为UTF-8

    gb2312编码转utf-8编码

    4. **写入新文件**:最后,将转换后的字节序列写入新的UTF-8编码文件中。如果原始文件是文本文件,如HTML、ASP、PHP、JSP等网页源代码,转换后的内容需要保持原有的结构和语义不变。 在实际操作中,可以使用各种...

    STM32 UTF-8编码 转GB2312编码 源代码

    STM32 UTF-8编码转GB2312编码 源代码,一个.c文件

    字符编码GB2312转UTF8+可批量转换+需安装Python+学习Python参考

    该工具用于字符编码GB2312转UTF8,可批量转换。只需将该工具放置与需要转换文件的目录下,双击运行即可。 注意:需安装Python,Python 2和3 需安装通用编码检测器,文件内有安装方法; 该工具对于入门学习Python 也...

    UTF8转GB2312源码

    标题中的“UTF8转GB2312源码”指的是一个特定的编程任务,即实现从UTF-8编码转换到GB2312编码的功能。UTF-8是一种广泛使用的Unicode字符编码,支持世界上几乎所有的字符集,而GB2312是中国大陆早期的一种简体中文...

    字符编码UTF8转GB2312+可批量转换+需安装Python

    该工具用于字符编码UTF8转GB2312,可批量转换。只需将该工具放置与需要转换文件的目录下,双击运行即可。 注意:需安装Python,Python 2和3 需安装通用编码检测器,文件内有安装方法; 该工具对于入门学习Python 也...

    utf8、gb2312编码互转

    例如,一个使用UTF-8编码的文件在未正确设置编码的情况下用GB2312读取,会导致乱码。这时,就需要进行编码转换。标题提到的"utf8转gb2312"和"gb2312转utf8",就是针对这种情况提供的解决方案。 进行编码转换,可以...

Global site tag (gtag.js) - Google Analytics