java 文件转码(gb2315,gbk,utf-8)csv,excel

最近做数据处理,需要将爬取的数据入库,但是算法提供的数据编码格式和数据库总是有出入,导致导入的数据乱码,所以写一个转码程序,将文件编码转为和数据库一致。

package com.bjk.transcode;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;

/**
 * @author baojikui ([email protected])
 * @date 2018/12/17
 */
public class Transcode {

    public static void main(String args[]) {

        try {
            //需要转码的文件
            InputStream is = new FileInputStream("/tmp/filename_old");
            InputStreamReader isr = new InputStreamReader(is, "gb2312");
            //转码后的文件
            OutputStream os = new FileOutputStream("/tmp/filename_new");
            OutputStreamWriter osw = new OutputStreamWriter(os, "utf-8");

            char[] chr = new char[1024];
            int length;
            
            while ((length = isr.read(chr, 0, 1024)) > 0) {
                System.out.println(new String(chr, 0, length));
                osw.write(chr, 0, length);
                osw.flush();
            }

            isr.close();
            osw.close();

        } catch (Exception e) {

        }
    }
}

以上。

你可能感兴趣的:(基础知识)