.java文件的ANSI编码转换为UTF-8编码
.java文件的ANSI编码转换为UTF-8编码,如下:
/* * 创建于:2012-09-07 * * 功能:转换ANSI【JAVA中GBK编码】编码的.java源文件为UTF-8格式,未处理异常,运行前确认目录存在,且原编码格式为ANSI * * @author bwgang */package bwgang;import java.io.*;import java.util.Vector;public class AnsiToUtf8 {public static void main(String[] args) throws UnsupportedEncodingException, IOException {ReadFileName tmp=new ReadFileName();Vector<String> vec=tmp.FileNameOftype("E:\\workspace\\Interface_JAVA\\src", ".java");for (int i=0;i<vec.size(); i++){System.out.println(vec.get(i));change(vec.get(i));}}public static void change(String filepath) throws UnsupportedEncodingException, IOException{BufferedReader buf = null;OutputStreamWriter pw=null;String str = null;String allstr="";//用于输入换行符的字节码byte[] c=new byte[2]; c[0]=0x0d; c[1]=0x0a; String t=new String(c); buf=new BufferedReader(new InputStreamReader(new FileInputStream(filepath), "GBK"));while((str = buf.readLine()) != null){allstr=allstr+str+t;}buf.close();pw =new OutputStreamWriter(new FileOutputStream(filepath),"UTF-8");pw.write(allstr); pw.close();}}class ReadFileName {//存储遍历获取的所有文件名private Vector<String> filelist = new Vector<String>(); //遍历指定路径下的所有文件//以ArrayList存储于filelist中private void RefreshFileList(String strpath) { File dir = new File(strpath); File[] files = dir.listFiles(); if (files == null) return; for (int i = 0; i < files.length; i++) { if (files[i].isDirectory()) { RefreshFileList(files[i].getAbsolutePath()); } else { //String strFileName = files[i].getAbsolutePath().toLowerCase(); filelist.add(files[i].getAbsolutePath()); } } } //过滤当前目录下的指定后缀名的文件 //返回Vector public Vector<String> FileNameOftype(String strpath2,String filetype){ String strfilename=new String(); Vector<String> filelistofjava= new Vector<String>(); //读取指定路径下的所有文件 RefreshFileList(strpath2); for (int i = 0; i < filelist.size(); i++) { strfilename=filelist.get(i).toString(); strfilename=strfilename.substring(strfilename.length()-5, strfilename.length()); if (strfilename.equals(filetype)) { filelistofjava.add(filelist.get(i)); } } return filelistofjava; }}