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("")){ continue; } optionStr = optionStr.substring(0,optionStr.indexOf("")); 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; } }