DealSelectHtml.java 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. package com.java110.code;
  2. import com.alibaba.fastjson.JSONObject;
  3. import java.io.BufferedReader;
  4. import java.io.BufferedWriter;
  5. import java.io.File;
  6. import java.io.FileReader;
  7. import java.io.FileWriter;
  8. import java.util.regex.Matcher;
  9. import java.util.regex.Pattern;
  10. /**
  11. * @ClassName DealHtml
  12. * @Description TODO
  13. * @Author wuxw
  14. * @Date 2022/4/20 22:18
  15. * @Version 1.0
  16. * add by wuxw 2022/4/20
  17. **/
  18. public class DealSelectHtml {
  19. public static void main(String[] args) throws Exception {
  20. File file = new File("C:\\Users\\Administrator\\Documents\\project\\hc\\MicroCommunityWeb\\public\\components");
  21. JSONObject js = new JSONObject();
  22. listFiles(file, js);
  23. System.out.println("js = " + js.toJSONString());
  24. }
  25. public static void listFiles(File file, JSONObject js) throws Exception {
  26. if (file.isFile()) {
  27. if (file.getName().endsWith(".html")) {
  28. doDealHtml(file, js);
  29. }
  30. return;
  31. }
  32. File[] files = file.listFiles();
  33. for (File tmpFile : files) {
  34. listFiles(tmpFile, js);
  35. }
  36. }
  37. private static void doDealHtml(File tmpFile, JSONObject js) throws Exception {
  38. String fileName = tmpFile.getName().replace(".html", "");
  39. System.out.println("fileName=" + fileName + ",dir=" + tmpFile.getPath());
  40. BufferedReader in = new BufferedReader(new FileReader(tmpFile));
  41. String str;
  42. String context = "";
  43. JSONObject fileNameObj = new JSONObject();
  44. while ((str = in.readLine()) != null) {
  45. context += (str + "\n");
  46. //doDealHtmlNode(str,fileName);
  47. }
  48. context = doDealHtmlNode(context, fileName, fileNameObj);
  49. js.put(fileName, fileNameObj);
  50. System.out.println(context);
  51. // BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter(tmpFile));
  52. // bufferedWriter.write(context);
  53. // bufferedWriter.close();
  54. }
  55. private static String doDealHtmlNode(String str, String fileName, JSONObject fileNameObj) {
  56. if(!str.contains("<option")){
  57. return str;
  58. }
  59. String[] options = str.split("<option");
  60. String vcStr = "<vc:i18n name=\"";
  61. String endStr = "</vc:i18n>";
  62. String name = "";
  63. for(String optionStr: options){
  64. if(!optionStr.contains("</option>")){
  65. continue;
  66. }
  67. optionStr = optionStr.substring(0,optionStr.indexOf("</option>"));
  68. int vcPos = optionStr.indexOf(vcStr);
  69. if(vcPos < 0){
  70. continue;
  71. }
  72. optionStr = optionStr.substring(vcPos,optionStr.indexOf(endStr)+10);
  73. name = optionStr.substring(optionStr.indexOf("\"")+1);
  74. name = name.substring(0,name.indexOf("\""));
  75. str = str.replace(optionStr,"{{vc.i18n('"+name+"','"+fileName+"')}}");
  76. }
  77. return str;
  78. }
  79. }