| New file |
| | |
| | | package com.java110.code; |
| | | |
| | | import com.alibaba.fastjson.JSONObject; |
| | | |
| | | import java.io.BufferedReader; |
| | | import java.io.BufferedWriter; |
| | | import java.io.File; |
| | | import java.io.FileReader; |
| | | import java.io.FileWriter; |
| | | import java.util.regex.Matcher; |
| | | import java.util.regex.Pattern; |
| | | |
| | | /** |
| | | * @ClassName DealHtml |
| | | * @Description TODO |
| | | * @Author wuxw |
| | | * @Date 2022/4/20 22:18 |
| | | * @Version 1.0 |
| | | * add by wuxw 2022/4/20 |
| | | **/ |
| | | public class DealSelectHtml { |
| | | |
| | | public static void main(String[] args) throws Exception { |
| | | File file = new File("C:\\Users\\Administrator\\Documents\\project\\hc\\MicroCommunityWeb\\public\\components"); |
| | | JSONObject js = new JSONObject(); |
| | | listFiles(file, js); |
| | | System.out.println("js = " + js.toJSONString()); |
| | | } |
| | | |
| | | public static void listFiles(File file, JSONObject js) throws Exception { |
| | | if (file.isFile()) { |
| | | if (file.getName().endsWith(".html")) { |
| | | doDealHtml(file, js); |
| | | |
| | | } |
| | | return; |
| | | } |
| | | |
| | | File[] files = file.listFiles(); |
| | | |
| | | for (File tmpFile : files) { |
| | | listFiles(tmpFile, js); |
| | | } |
| | | } |
| | | |
| | | private static void doDealHtml(File tmpFile, JSONObject js) throws Exception { |
| | | |
| | | String fileName = tmpFile.getName().replace(".html", ""); |
| | | System.out.println("fileName=" + fileName + ",dir=" + tmpFile.getPath()); |
| | | BufferedReader in = new BufferedReader(new FileReader(tmpFile)); |
| | | String str; |
| | | String context = ""; |
| | | JSONObject fileNameObj = new JSONObject(); |
| | | while ((str = in.readLine()) != null) { |
| | | context += (str + "\n"); |
| | | //doDealHtmlNode(str,fileName); |
| | | } |
| | | context = doDealHtmlNode(context, fileName, fileNameObj); |
| | | |
| | | js.put(fileName, fileNameObj); |
| | | System.out.println(context); |
| | | BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter(tmpFile)); |
| | | bufferedWriter.write(context); |
| | | bufferedWriter.close(); |
| | | |
| | | |
| | | } |
| | | |
| | | private static String doDealHtmlNode(String str, String fileName, JSONObject fileNameObj) { |
| | | if(!str.contains("<option")){ |
| | | return str; |
| | | } |
| | | |
| | | String[] options = str.split("<option"); |
| | | String vcStr = "<vc:i18n name=\""; |
| | | String endStr = "</vc:i18n>"; |
| | | String name = ""; |
| | | for(String optionStr: options){ |
| | | if(!optionStr.contains("</option>")){ |
| | | continue; |
| | | } |
| | | optionStr = optionStr.substring(0,optionStr.indexOf("</option>")); |
| | | int vcPos = optionStr.indexOf(vcStr); |
| | | if(vcPos < 0){ |
| | | continue; |
| | | } |
| | | |
| | | optionStr = optionStr.substring(vcPos,optionStr.indexOf(endStr)+10); |
| | | |
| | | name = optionStr.substring(optionStr.indexOf("\"")+1); |
| | | name = name.substring(0,name.indexOf("\"")); |
| | | str = str.replace(optionStr,"{{vc.i18n('"+name+"','"+fileName+"')}}"); |
| | | } |
| | | |
| | | return str; |
| | | } |
| | | } |