java 文件编码转码工具类
一、描述
文件编码转码,GBK编码的文件转为UTF-8编码的文件。
二、代码实现
package com.lanshen.utils.lsjavaUtils;
import java.io.*;
/**
* Created by Lanshen on 2019/11/29.
* 文件编码转码
* 将GBK编码的文件转为UTF-8编码的文件
*/
public class lsfileCodingUtils {
/**
* 把GBK文件转为UTF-8
* 两个参数值可以为同一个路径
* @param srcFileName 源文件
* @param destFileName 目标文件
* @param srcFileCoding 源文件编码格式
* @param destFileCoding 目标文件编码格式
* txt中的ANSI即代表的是GBK编码
* @throws IOException
*/
private static void transferFile(String srcFileName, String destFileName, String srcFileCoding,String destFileCoding) throws IOException {
String line_separator = System.getProperty("line.separator");
FileInputStream fis = new FileInputStream(srcFileName);
StringBuffer content = new StringBuffer();
DataInputStream in = new DataInputStream(fis);
BufferedReader d = new BufferedReader(new InputStreamReader(in, srcFileCoding)); //源文件的编码方式
String line = null;
while ((line = d.readLine()) != null)
content.append(line + line_separator);
d.close();
in.close();
fis.close();
Writer ow = new OutputStreamWriter(new FileOutputStream(destFileName), destFileCoding); //需要转换的编码方式
ow.write(content.toString());
ow.close();
}
public static void main(String[] args) throws IOException{
lsfileCodingUtils.transferFile("C:\\Users\\XXCC\\Desktop\\33.txt","C:\\Users\\XXCC\\Desktop\\66.txt","GBK","UTF-8");
}
}