2012-03-13 2 views
0

내 코드가 왜 HDF5 라이브러리 예외를 제공하는지 이해하지 못합니다. 오류의 원인으로 createScalarDS 메소드를 가리 킵니다. 그러나 나는이 방법이 존재한다고 믿습니다. 아무도 왜이 코드가 불투명 한 데이터 세트를 만들 수 없는지를 말해 줄 수 있습니까? 수정 사항은 무엇이되어야합니까? 감사.그룹 내 불투명 한 데이터 세트 만들기

public static void createFile(Message message) throws Exception { 
    // retrieve an instance of H5File 
    FileFormat fileFormat = FileFormat 
      .getFileFormat(FileFormat.FILE_TYPE_HDF5); 
    if (fileFormat == null) { 
     System.err.println("Cannot find HDF5 FileFormat."); 
     return; 
    } 

    // create a new file with a given file name. 
    H5File testFile = (H5File) fileFormat.create(fname); 
    if (testFile == null) { 
     System.err.println("Failed to create file:" + fname); 
     return; 
    } 

    // open the file and retrieve the root group 
    testFile.open(); 
    Group root = (Group) ((javax.swing.tree.DefaultMutableTreeNode) testFile 
      .getRootNode()).getUserObject(); 
    Group g1 = testFile.createGroup("byte arrays", root); 

    // obtaining the serialized object 
    byte[] b = serializer.serialize(message); 
    int len = b.length; 
    byte[] dset_data = new byte[len + 1]; 

    // Initialize data. 
    int indx = 0; 
    for (int jndx = 0; jndx < len; jndx++) 
     dset_data[jndx] = b[jndx]; 
    dset_data[len] = (byte) (indx); 

    // create opaque dataset ---- error here… 
    Datatype dtype = testFile.createDatatype(Datatype.CLASS_OPAQUE, 
      (len * 4), Datatype.NATIVE, Datatype.NATIVE); 
    Dataset dataset = testFile.createScalarDS("byte array", g1, dtype, 
      dims1D, null, null, 0, dset_data);// error shown in this line 

    // close file resource 
    testFile.close(); 
} 
+0

라인 쇼를 않습니다 어떤 오류 ? – Perception

+0

그것은 나에게 HDF5LibraryException을 준다. – kuki

답변

0

저는 HDF5에 그립이 없습니다.

하지만, 직접 CLASS_OPAQUE

불투명 데이터 형식을 사용할 수없는이 같은 방식으로 사용할 수있는 사용자 정의 데이터 형식 인 내장 데이터 유형입니다.

http://idlastro.gsfc.nasa.gov/idl_html_help/Opaque_Datatypes.html

배열 데이터 타입의 객체를 만들려면 : 불투명 한 유형 검사 링크를 만들려면

Result = H5T_ARRAY_CREATE(Datatype_id, Dimensions) 

예 :

http://idlastro.gsfc.nasa.gov/idl_html_help/H5F_CREATE.html

+0

@ Riddhish .. 나는 파일에서 불투명 한 데이터 세트를 정상적으로 생성 할 수 있었다. 하지만 ** 하나의 파일 **에 많은 데이터 세트를 만들려고합니다. 파일 비율에 대한 데이터 세트가 1 : 1이기 때문에 ** 그룹 **을 사용하여 ** 당신이 ** 그룹 아래에 여러 개의 데이터 세트 **를 가질 수 있다고 생각했습니다. 그래서 CLASS_OPAQUE를 구현하여 그룹 아래에 불투명 한 데이터 세트를 구현하려했지만 분명히 몇 가지 ** 라이브러리 예외가 있습니다. ** 나는 바로 설정할 수 없습니다. – kuki