package com.miniframe.tools.file; import com.google.gson.Gson; import com.miniframe.core.ext.UtilTools; import com.miniframe.model.mdo.MdoProAdflow; import com.miniframe.model.mdo.MdoProAdflowSQLBuilder; import com.miniframe.model.mdo.MdoProComval; import com.miniframe.model.mdo.MdoProComvalSQLBuilder; import com.miniframe.model.mdo.dao.MdoProAdflowMapper; import com.miniframe.model.mdo.dao.MdoProComvalMapper; import com.miniframe.websocket.WebsocketEndPoint; import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import java.io.IOException; import java.util.ArrayList; import java.util.List; public class AdflowFileRead { public static void readFile(File file, String pid) { MdoProAdflowMapper adfdao =UtilTools.getBean(MdoProAdflowMapper.class); MdoProAdflowSQLBuilder asb = new MdoProAdflowSQLBuilder(); MdoProAdflowSQLBuilder.Criteria asc = asb.createCriteria(); asc.andPidEqualTo(pid); MdoProAdflow adflow = adfdao.selectOneByExample(asb); MdoProComvalMapper comvalDao = UtilTools.getBean(MdoProComvalMapper.class); MdoProComvalSQLBuilder comvalsb = new MdoProComvalSQLBuilder(); MdoProComvalSQLBuilder.Criteria comvalsc = comvalsb.createCriteria(); comvalsc.andPidEqualTo(pid); List types = new ArrayList<>(); types.add(2); types.add(3); comvalsc.andTypeIn(types); comvalDao.deleteByExample(comvalsb); int i= 0; String line; // 使用try-with-resources语句确保资源被正确关闭 try (BufferedReader br = new BufferedReader(new FileReader(file))) { int size=0; int tel =0;//多个zone int zoneid =0; // 逐行读取,直到文件末尾 while ((line = br.readLine()) != null) { line=line.trim().replaceAll("\\s+"," ").trim();//替换多个空格为一个空格 if(line.startsWith("Title")){ continue; } if(line.startsWith("Variables")){ //Variables = "CoordinateX" "CoordinateY" "CoordinateZ" "XoC" "YoC" "ZoC" "VelocityX" "VelocityY" "VelocityZ" "CoefPressure" "Mach" // line=line.replace("\"",""); // line=line.replace("Variables =","").trim(); continue; } if(line.startsWith("Zone")){ continue; } if(line.startsWith("Nodes")){ line=line.trim().replace("Nodes = ",""); size =Integer.valueOf(line.split(" ")[0]); tel=tel+1000000; i=0; zoneid++; continue; } if(line.startsWith("DATAPACKING")){ continue; } if(i>=size){ continue; } if(i