1
13693261870
2024-12-02 9b63c2f3c4c08105be2d267407d97e7e5e30fad6
1
已添加1个文件
已修改2个文件
45 ■■■■ 文件已修改
libs/jarhdf5-3.3.2.jar 补丁 | 查看 | 原始文档 | blame | 历史
pom.xml 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/se/simu/service/Hdf5Service.java 27 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
libs/jarhdf5-3.3.2.jar
Binary files differ
pom.xml
@@ -5,7 +5,8 @@
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.7.18</version>
        <!--<version>2.7.18</version>-->
        <version>2.6.4</version>
        <relativePath/>
    </parent>
    <packaging>jar</packaging>
@@ -142,11 +143,22 @@
            <version>2.9.3</version>
        </dependency>
        <!--hdf5-->
        <dependency>
        <!--<dependency>
            <groupId>org.hdfgroup</groupId>
            <artifactId>hdf-java</artifactId>
            <version>2.6.1</version>
        </dependency>
        </dependency>-->
        <!--<dependency>
            <groupId>org.hdfgroup</groupId>
            <artifactId>jarhdf5</artifactId>
            <version>3.3.2</version>
        </dependency>-->
        <dependency>
            <groupId>hdf.hdf5lib</groupId>
            <artifactId>h5</artifactId>
            <scope>system</scope>
            <systemPath>${project.basedir}/libs/jarhdf5-3.3.2.jar</systemPath>
        </dependency><!---->
    </dependencies>
    <build>
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);
        }
    }