From a01db2b59f0de8dfa4fb029d86d45924f4534abc Mon Sep 17 00:00:00 2001 From: DELL <1525436766@qq.com> Date: 星期二, 24 九月 2024 14:37:47 +0800 Subject: [PATCH] 兼容单体数据300 以及500的数据文件解析 --- src/main/java/com/whyc/service/RESDataInfoService.java | 27 ++++++++++++++++++++------- 1 files changed, 20 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/whyc/service/RESDataInfoService.java b/src/main/java/com/whyc/service/RESDataInfoService.java index aa7cfd4..b5e3816 100644 --- a/src/main/java/com/whyc/service/RESDataInfoService.java +++ b/src/main/java/com/whyc/service/RESDataInfoService.java @@ -41,14 +41,24 @@ { if(resDataInfo.resDataHead.checkDataHead(fis)) { - byte[] databuf = new byte[RESData.DATABYTE_LEN]; - if(fis.read(databuf) == databuf.length) - { - RESData resData = new RESData(); - if(resData.setData(databuf)) { - resDataInfo.resDatas.add(resData); + RESData resData = new RESData(); + byte[] checkbuf = new byte[RESData.DATA_CHECK_BYTE_LEN]; + if(fis.read(checkbuf) == checkbuf.length){ + if(resData.readResMonCount(checkbuf)){ + int Data_LEN = 3 * resData.getBattSum() * 2 + 2; + //System.err.println("Data_LEN"+Data_LEN); + byte[] databuf = new byte[Data_LEN]; + if(fis.read(databuf) == databuf.length) + { + //RESData resData = new RESData(); + if(resData.setData(databuf)) { + resDataInfo.resDatas.add(resData); + } + } } } + + } if(fis.available() <1) { break; @@ -76,7 +86,10 @@ } public static void main(String[] args) { - String fileUrl="E:\\fileTest\\fbxtest\\resdata.bres"; + //String fileUrl="E:\\fileTest\\fbxtest\\resdata.bres"; + //String fileUrl="D:\\test\\resdata.bres"; + //String fileUrl="D:\\test\\resdata(1).bres"; + String fileUrl="D:\\test\\resdata(2).bres"; RESDataInfo info = readFileData(fileUrl); System.out.println(info); } -- Gitblit v1.9.1