|
@@ -0,0 +1,82 @@
|
|
|
+package com.miniframe.tools.file;
|
|
|
+
|
|
|
+import com.miniframe.core.ext.UtilTools;
|
|
|
+import com.miniframe.model.mdo.MdoProComval;
|
|
|
+import com.miniframe.model.mdo.MdoProComvalSQLBuilder;
|
|
|
+import com.miniframe.model.mdo.dao.MdoProComvalMapper;
|
|
|
+import org.apache.commons.io.monitor.FileAlterationListenerAdaptor;
|
|
|
+
|
|
|
+import java.io.*;
|
|
|
+import java.util.List;
|
|
|
+
|
|
|
+public class SurromdaoFileListener extends FileAlterationListenerAdaptor {
|
|
|
+ private String filename ="surromdao_history_all.dat";
|
|
|
+ private String pid ;
|
|
|
+ private String line1;
|
|
|
+
|
|
|
+
|
|
|
+ public SurromdaoFileListener(String pid) {
|
|
|
+ this.pid = pid;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void onFileChange(File file) {
|
|
|
+ String compressedPath = file.getAbsolutePath();
|
|
|
+ if(filename.equals(file.getName())){
|
|
|
+ MdoProComvalMapper comvalDao = UtilTools.getBean(MdoProComvalMapper.class);
|
|
|
+ MdoProComvalSQLBuilder sb =new MdoProComvalSQLBuilder();
|
|
|
+ MdoProComvalSQLBuilder.Criteria sc = sb.createCriteria();
|
|
|
+ sc.andPidEqualTo(pid);
|
|
|
+ sb.setOrderByClause("step asc");
|
|
|
+ List<MdoProComval> comvals =comvalDao.selectByExample(sb);
|
|
|
+ int con =0;
|
|
|
+ if(comvals!=null||!comvals.isEmpty()){
|
|
|
+ con=comvals.size();
|
|
|
+ }
|
|
|
+ int i= 0;
|
|
|
+
|
|
|
+ // 使用try-with-resources语句确保资源被正确关闭
|
|
|
+ try (BufferedReader br = new BufferedReader(new FileReader(file))) {
|
|
|
+ String line;
|
|
|
+ // 逐行读取,直到文件末尾
|
|
|
+ while ((line = br.readLine()) != null) {
|
|
|
+ if(i ==0){
|
|
|
+ line1=line.replace(" / ","/");
|
|
|
+ line1=line1.trim().replaceAll("\\s+"," ");//替换多个空格为一个空格
|
|
|
+ // 处理每一行数据
|
|
|
+ System.out.println(line);
|
|
|
+ }
|
|
|
+ if(i>con){
|
|
|
+ String tvals=line.trim().replaceAll("\\s+"," ");//替换多个空格为一个空格
|
|
|
+ MdoProComval comval =new MdoProComval();
|
|
|
+ comval.setId(UtilTools.getUUid());
|
|
|
+ comval.setPid(pid);
|
|
|
+ comval.setStep(String.valueOf(i+1));
|
|
|
+ comval.setVars(line1);
|
|
|
+ comval.setVals(tvals);
|
|
|
+ comvalDao.insert(comval);
|
|
|
+ }
|
|
|
+ i++;
|
|
|
+
|
|
|
+ }
|
|
|
+ } catch (IOException e) {
|
|
|
+ // 异常处理
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ @Override
|
|
|
+ public void onFileCreate(File file) {
|
|
|
+ String compressedPath = file.getAbsolutePath();
|
|
|
+ if(filename.equals(file.getName())){
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+ public String getFilename() {
|
|
|
+ return filename;
|
|
|
+ }
|
|
|
+
|
|
|
+ public void setFilename(String filename) {
|
|
|
+ this.filename = filename;
|
|
|
+ }
|
|
|
+}
|