diff --git a/das/src/main/java/com/das/modules/fdr/controller/FaultRecorderController.java b/das/src/main/java/com/das/modules/fdr/controller/FaultRecorderController.java index bb87b2e4..542b1bf1 100644 --- a/das/src/main/java/com/das/modules/fdr/controller/FaultRecorderController.java +++ b/das/src/main/java/com/das/modules/fdr/controller/FaultRecorderController.java @@ -10,6 +10,7 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import java.io.IOException; import java.util.List; import java.util.Map; @@ -34,7 +35,7 @@ public class FaultRecorderController { } @RequestMapping(value = "/parseData", method = RequestMethod.POST) - public R>> parseData(@RequestBody JSONObject jsonObject) { + public R>> parseData(@RequestBody JSONObject jsonObject) throws IOException { Map> dataCurve = faultRecorderService.getDataCurve(jsonObject.getString("url"), jsonObject.getString("deviceCode")); return R.success(dataCurve); } diff --git a/das/src/main/java/com/das/modules/fdr/domain/vo/FdrFormatVo.java b/das/src/main/java/com/das/modules/fdr/domain/vo/FdrFormatVo.java index fb2e38d8..1ad14109 100644 --- a/das/src/main/java/com/das/modules/fdr/domain/vo/FdrFormatVo.java +++ b/das/src/main/java/com/das/modules/fdr/domain/vo/FdrFormatVo.java @@ -11,7 +11,7 @@ public class FdrFormatVo { private String timeFormat; - private String delimite; + private String delimiter; private Integer validStartLine; } diff --git a/das/src/main/java/com/das/modules/fdr/service/FaultRecorderService.java b/das/src/main/java/com/das/modules/fdr/service/FaultRecorderService.java index 0012b991..0a9f6f48 100644 --- a/das/src/main/java/com/das/modules/fdr/service/FaultRecorderService.java +++ b/das/src/main/java/com/das/modules/fdr/service/FaultRecorderService.java @@ -4,6 +4,7 @@ import com.das.modules.equipment.entity.SysEquipment; import com.das.modules.fdr.domain.FileNode; import org.springframework.web.multipart.MultipartFile; +import java.io.IOException; import java.io.OutputStream; import java.nio.file.Path; import java.util.List; @@ -12,7 +13,7 @@ import java.util.Map; public interface FaultRecorderService { List getDirOrFileList(String name,String startTime, String endTime); - Map> getDataCurve(String url, String deviceCode); + Map> getDataCurve(String url, String deviceCode) throws IOException; void updateFdrConfig(SysEquipment sysEquipment); diff --git a/das/src/main/java/com/das/modules/fdr/service/MinioViewsServcie.java b/das/src/main/java/com/das/modules/fdr/service/MinioViewsServcie.java index 27f2e474..30204f0e 100644 --- a/das/src/main/java/com/das/modules/fdr/service/MinioViewsServcie.java +++ b/das/src/main/java/com/das/modules/fdr/service/MinioViewsServcie.java @@ -218,19 +218,14 @@ public class MinioViewsServcie { return total; } - public InputStream getFileStream(String url) throws IOException { + public InputStream getFileStream(String url){ InputStream inputStream = null; try { inputStream = minioClient.getObject(GetObjectArgs.builder().bucket(minioProperties.getBucket()).object(url).build()); } catch (Exception e) { log.error("获取文件失败"); - }finally { - if (inputStream != null){ - inputStream.close(); - } } - return inputStream; } diff --git a/das/src/main/java/com/das/modules/fdr/service/impl/FaultRecorderServiceImpl.java b/das/src/main/java/com/das/modules/fdr/service/impl/FaultRecorderServiceImpl.java index a8240a95..f1b850e6 100644 --- a/das/src/main/java/com/das/modules/fdr/service/impl/FaultRecorderServiceImpl.java +++ b/das/src/main/java/com/das/modules/fdr/service/impl/FaultRecorderServiceImpl.java @@ -22,10 +22,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.web.multipart.MultipartFile; -import java.io.BufferedReader; -import java.io.InputStream; -import java.io.InputStreamReader; -import java.io.OutputStream; +import java.io.*; import java.nio.file.Path; import java.text.ParseException; import java.text.SimpleDateFormat; @@ -99,9 +96,9 @@ public class FaultRecorderServiceImpl implements FaultRecorderService { } @Override - public Map> getDataCurve(String url, String deviceCode) { + public Map> getDataCurve(String url, String deviceCode) throws IOException { Map> resultMap = null; - InputStream fileStream; + InputStream fileStream = null; try { fileStream = minioViewsServcie.getFileStream(url); //根据device Code查询故障录波格式 @@ -116,11 +113,15 @@ public class FaultRecorderServiceImpl implements FaultRecorderService { // 解析文件内容 - List> parsedData = parseFile(fileStream, fdrFormatVo.getDelimite(), fdrFormatVo.getValidStartLine()); + List> parsedData = parseFile(fileStream, fdrFormatVo.getDelimiter(), fdrFormatVo.getValidStartLine()); resultMap = parseDataCurve(parsedData, fdrFormatVo.getTimeFormat()); } catch (Exception e) { e.printStackTrace(); + }finally { + if (fileStream != null){ + fileStream.close(); + } } return resultMap; } @@ -143,18 +144,13 @@ public class FaultRecorderServiceImpl implements FaultRecorderService { if (lineNumber < validStartLine) { continue; } - // 按照分隔符分割行数据 - String[] values = line.split(delimiter); - List lineData = new ArrayList<>(); - for (String value : values) { - lineData.add(value.trim()); - } + List lineData = Arrays.stream(line.split(delimiter)).toList(); result.add(lineData); } } catch (Exception e) { - log.error("文件解析失败"); + log.error("文件解析失败{}",e); } return result; }