From 9b63c2f3c4c08105be2d267407d97e7e5e30fad6 Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期一, 02 十二月 2024 17:59:00 +0800
Subject: [PATCH] 1

---
 src/main/java/com/se/simu/service/Hdf5Service.java |   27 ++++++++++++++++++++-------
 1 files changed, 20 insertions(+), 7 deletions(-)

diff --git a/src/main/java/com/se/simu/service/Hdf5Service.java b/src/main/java/com/se/simu/service/Hdf5Service.java
index 2cd1f67..b7eb05e 100644
--- a/src/main/java/com/se/simu/service/Hdf5Service.java
+++ b/src/main/java/com/se/simu/service/Hdf5Service.java
@@ -5,11 +5,11 @@
 import com.se.simu.domain.dto.LayerDto;
 import com.se.simu.domain.dto.ResultDto;
 import com.se.simu.domain.po.DataPo;
-import lombok.extern.slf4j.Slf4j;
-import ncsa.hdf.hdf5lib.H5;
-import ncsa.hdf.hdf5lib.HDF5Constants;
-import org.springframework.stereotype.Service;
 
+import hdf.hdf5lib.H5;
+import hdf.hdf5lib.HDF5Constants;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
 import javax.annotation.Resource;
 import java.io.File;
 
@@ -35,6 +35,7 @@
         process(dto, layer);
     }
 
+    // https://blog.51cto.com/u_16213355/12235346
     private void process(ResultDto dto, LayerDto layer) throws Exception {
         int fileId = 0;
         int datasetId = 0;
@@ -44,7 +45,18 @@
             fileId = H5.H5Fopen(dto.getH5Path(), HDF5Constants.H5F_ACC_RDONLY, HDF5Constants.H5P_DEFAULT);
             if (fileId == 0) return;
 
-            datasetId = H5.H5Dopen(fileId, "data");
+            // H5F_OBJ_DATASET,H5E_DATASET,H5G_DATASET=1,
+            //int dsCount = H5.H5Fget_obj_count(fileId, HDF5Constants.H5G_DATASET);
+            //for (int i = 0; i < dsCount; i++) {
+            //    System.out.println("Dataset: " + "");
+            //}
+
+            //datasetId = H5.H5Dopen(fileId, "", HDF5Constants.H5P_DEFAULT);
+
+            int groupId = H5.H5Gopen(fileId, "data");
+            if (groupId == 0) return;
+
+            /*datasetId = H5.H5Dopen(fileId, "data", HDF5Constants.H5P_DEFAULT);
             if (datasetId == 0) return;
 
             // 鑾峰彇鏁版嵁闆嗙殑缁村害
@@ -57,11 +69,12 @@
             int herr = H5.H5Dread(datasetId, HDF5Constants.H5T_NATIVE_INT, HDF5Constants.H5S_ALL, HDF5Constants.H5S_ALL, HDF5Constants.H5P_DEFAULT, buffer);
 
             // 杈撳嚭璇诲彇鍒扮殑鏁版嵁
-            System.out.println(buffer[0]);
+            System.out.println(buffer[0]);*/
+
+            H5.H5Dclose(groupId);
         } catch (Exception ex) {
             ex.printStackTrace();
         } finally {
-            if (datasetId > 0) H5.H5Dclose(datasetId);
             if (fileId > 0) H5.H5Dclose(fileId);
         }
     }

--
Gitblit v1.9.3