一、字符集编码
EBCDIC
摩斯电码
GBK
Unicode——utf-8
肯 汤普逊
罗布 派克
二、转换
- Encode 编码
- Decode 解码
可以将 GBK 编码的.java 文件转换为 utf-8 的编码格式
Java 批量转换文件夹中文件的编码(从 gbk 到 utf8)(需要导入 commons-io jar 包):
package wx.jq.util;
import java.io.File;
import java.io.IOException;
import java.util.Collection;
import org.apache.commons.io.FileUtils;
/**
* 文件夹中的文件批量从gbk编码转换为utf-8编码
* @author jiangqiang
* 2016年7月5日 上午11:24:24
*/
public class FileEncodeConverter {
private static String sourcePath = "C:/Users/jq/Desktop/weekend110-代码/weekend110/src";// 文件夹源路径
private static String destPath = sourcePath + "_copy";
public static void main(String[] args) throws IOException{
File sourceDirectory = new File(sourcePath);
File destDirectory = new File(destPath);
if (!sourceDirectory.isDirectory()) {
return;
}
// 获取文件夹中的所有.java文件,包括所有子级文件夹中的文件
Collection
files = FileUtils.listFiles(sourceDirectory, new String[] { "java", "JAVA" }, true);
for (File file : files) {
String absolutePath = file.getAbsolutePath();
String newDir = absolutePath.replace(sourceDirectory.getName(), destDirectory.getName());
// 把单个文件从gbk编码转化到utf-8编码,生成新文件,可以自动创建父级目录
FileUtils.writeLines(new File(newDir), "UTF-8", FileUtils.readLines(file, "GBK"));
}
// 删除源目录,子文件都删除
FileUtils.deleteQuietly(sourceDirectory);
// 把生成文件目录重命名成源目录名
destDirectory.renameTo(new File(sourceDirectory.getAbsolutePath()));
System.out.println("success");
}
}