批量将html中gbk字符编码替换为UTF8: Java代码 1. import java.io.BufferedReader; 2. import java.io.BufferedWriter; 3. import java.io.File; 4. import java.io.FileFilter; 5. import java.io.FileInputStream; 6. import java.io.FileOutputStream; 7. import java.io.IOException; 8. import java.io.InputStreamReader; 9. import java.io.OutputStreamWriter; 10. import java.io.PrintWriter; 11. import java.io.UnsupportedEncodingException; 12. 13. public class ContextReplace { 14. 15. private static String srcStr = "charset=gb2312"; 16. private static String desStr = "charset=utf-8"; 17. private static String srcDir = "f://test"; 18. 19. private static FileFilter filter = new FileFilter() { 20. public boolean accept(File pathname) { 21. // 只处理:目录 或是 .html文件 22. if (pathname.isDirectory() 23. || (pathname.isFile() && pathname.getName().endsWith( 24. ".html"))) { 25. return true; 26. } else { 27. return false; 28. } 29. } 30. }; 31. 32. public static void readDir(File file) { 33. // 以过滤器作为参数 34. File[] files = file.listFiles(filter); 35. for (File subFile : files) { 36. // 处理目录 37. if (subFile.isDirectory()) { 38. readDir(subFile); 39. } 40. // 处理文件 41. else { 42. System.err.println("源文件:/t" + subFile.getAbsolutePath()); 43. System.err.println("---------------------------"); 44. try { 45. replace(subFile.getAbsolutePath(), srcStr, desStr); 46. } catch (UnsupportedEncodingException e) { 47. e.printStackTrace(); 48. } catch (IOException e) { 49. e.printStackTrace(); 50. } 51. } 52. } 53. } 54. 55. public static void replace(String infilename, String from, String to) 56. throws IOException, UnsupportedEncodingException { 57. File infile = new File(infilename); 58. BufferedReader in = new BufferedReader(new InputStreamReader( 59. new FileInputStream(infile), "utf-8")); 60. File outfile = new File(infile + ".tmp"); 61. PrintWriter out = new PrintWriter(new BufferedWriter( 62. new OutputStreamWriter(new FileOutputStream(outfile), "utf-8"))); 63. String reading; 64. while ((reading = in.readLine()) != null) { 65. out.println(reading.replaceAll(from, to)); 66. } 67. out.close(); 68. in.close(); 69. infile.delete(); 70. outfile.renameTo(infile); 71. } 72. 73. public static void main(String[] args) { 74. File srcFile = new File(srcDir); 75. readDir(srcFile); 76. srcFile = null; 77. } 78. 79. } 80. 81. 82. <b></b>