最近要从Eclipse转Android Studio,以前Eclipse的默认GBK编码一直没改,也就使用下去,但转Android Studio 的默认编码是UTF-8,导入旧项目GBK编码一大堆错误,
不可能又把Android Studio默认编码改为GBK吧,毕竟UTF-8才是主流,这才狠下心把,把以前写的项目都转为UTF-8,写个java转换不是分分钟的事,
说干就干,可写了才知道,问题一大堆,
先说说装换的关键部分,用 BufferedReader 并指定为GBK编码把文件阅读进来,得到编码为GBK的字符串str,再用
flush = str.toByteArray();
String oldData= new String(flush, "GBK");
byte[] oladflush = oldData.getBytes("UTF-8");
String newData = new String(oladflush, "UTF-8");
//byte[] newflush = newData.getBytes("UTF-8");
saveFile(file, newData);
再以UTF-8的文件保存即可,
编码是转为UTF-8文件,中文也正确了,但代码不是缺标点就是少符号,这样的程序可不能运行,
绞尽奶汁也得不到正确的,在网上找的工具也不如意,
于是想到vim把编码转utf-8很用于Eclipse用utf-8显示时也不报错,可自动脚本咱不会啊,
又想到了java 模拟键盘输入也是不错的,
再动手,
调用 cmd 打开 vim 并指定文件
Runtime rt = Runtime.getRuntime();
Process pr = rt.exec("cmd /c gvim "+path+" ");
在vim 下更改文件编码的语句是
:set fenc = UTF-8
//保存退出语句为
:wq
可怎么调用呢,
其它的我不会写,
只能想到模拟键盘输入,
//模拟键盘输入流程
Robot robot = new Robot();
//按下
robot.keyPress(keyCode);