用法:
EncodeConvert.jar "args1" "args2" "args3"
参数:
args1 源码的根目录
args2 转换后的文件目录
args3 "g2u":GBK转UTF-8 "u2g":UTF-8转GBK
例子:
GBK转UTF-8--->EncodeConvert.jar "E:\GBK\src" "E:\UTF8\src1" "g2u"
UTF-8转GBK--->EncodeConvert.jar "E:\UTF8\src" "E:\GBK\src1" "u2g"
代码参考自:http://my.oschina.net/binny/blog/62959
Blog: http://www.yonglives.com/
Email: stillhere163@gmail.com
2012-09-28 11:10:18 by Yong
import java.io.IOException;
public class Main
{
/**
* @param args
*/
public static void main(String[] args)
{
if (args[2].equals("u2g"))
{
try
{
Convert.UTF8toGBK(args[0], args[1]);
} catch (IOException e)
{
e.printStackTrace();
}
} else if (args[2].equals("g2u"))
{
try
{
Convert.GBKtoUTF8(args[0], args[1]);
} catch (IOException e)
{
e.printStackTrace();
}
}
}
}
import java.io.File;
import java.io.IOException;
import java.util.Collection;
import java.util.Iterator;
import org.apache.commons.io.FileUtils;
public class Convert
{
/**
* 将制定目录下的所有Java源文件的编码格式从GBK修改为UTF-8
*/
public static final String[] javastr = { "java" };
public static void GBKtoUTF8(String GBKsrc, String toUTF8src) throws IOException
{
// GBK编码格式源码路径
String srcDirPath = GBKsrc;
// 转为UTF-8编码格式源码路径
String utf8DirPath = toUTF8src;
// 获取所有java文件
Collection<File> javaGbkFileCol = FileUtils.listFiles(new File(srcDirPath), javastr, true);
for (Iterator<File> iterator = javaGbkFileCol.iterator(); iterator.hasNext();)
{
File javaGbkFile = iterator.next();
// UTF8格式文件路径
String utf8FilePath = utf8DirPath
+ javaGbkFile.getAbsolutePath().substring(srcDirPath.length());
// 使用GBK读取数据,然后用UTF-8写入数据
FileUtils.writeLines(new File(utf8FilePath), "UTF-8",
FileUtils.readLines(javaGbkFile, "GBK"));
System.out.println("转换完成!");
}
}
/**
* 将制定目录下的所有Java源文件的编码格式从UTF-8修改为GBK
*/
public static void UTF8toGBK(String UTF8src, String toGBKsrc) throws IOException
{
// UTF-8编码格式源码路径
String srcDirPath = UTF8src;
// 转为GBK编码格式源码路径
String gbkDirPath = toGBKsrc;
// 获取所有java文件
Collection<File> javaUtf8FileCol = FileUtils.listFiles(new File(srcDirPath), javastr, true);
for (Iterator<File> iterator = javaUtf8FileCol.iterator(); iterator.hasNext();)
{
File javaUtf8File = iterator.next();
// UTF8格式文件路径
String GBK8FilePath = gbkDirPath
+ javaUtf8File.getAbsolutePath().substring(srcDirPath.length());
// 使用GBK读取数据,然后用UTF-8写入数据
FileUtils.writeLines(new File(GBK8FilePath), "GBK",
FileUtils.readLines(javaUtf8File, "UTF-8"));
System.out.println("转换完成!");
}
}
}