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