把GBK编码格式的java转成UTF8的方法:遇到GBK文件直接拿去转成utf-8,传入需要转换的文件地址srcFileName和转出的文件地址destFileName,即可得到utf-8的文件。
- 遇到GBK文件直接拿去转成utf-8
- 传入需要转换的文件地址srcFileName和转出的文件地址destFileName
- 即可得到utf-8的文件
public static void transferFile(String srcFileName, String destFileName) 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, "GBK"));// , "UTF-8"
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), "utf-8");
ow.write(content.toString());
ow.close();
}
延伸阅读
乱码的原因
gbk的中文编码是一个汉字用【2】个字节表示,例如汉字“内部”的gbk编码16进制的显示为c4 da b2 bf
utf-8的中文编码是一个汉字用【3】个字节表示,例如汉字“内部”的utf-8编码16进制的显示为e5 86 85 e9 83 a8
因此,gbk是无法直接转换成utf-8。
文章标题:怎样把GBK编码格式的java转成UTF8,发布者:小编,转载请注明出处:https://worktile.com/kb/p/37284