153 lines
4.0 KiB
Java
153 lines
4.0 KiB
Java
/******************************************************************
|
|
* CreateGroupAR.java (for HDF5 tutorial lesson 9)
|
|
*
|
|
* -- Creating groups using absolute and relative names.
|
|
* (a java conversion from h5_crtgrpar.c)
|
|
*
|
|
******************************************************************/
|
|
|
|
import ncsa.hdf.hdf5lib.*;
|
|
import ncsa.hdf.hdf5lib.exceptions.*;
|
|
|
|
public class CreateGroupAR
|
|
{
|
|
public static void main(String []argv)
|
|
{
|
|
final String FILE = "groups.h5";
|
|
int file_id = -1; // file identifier
|
|
int group1_id = -1; // group identifier
|
|
int group2_id = -1;
|
|
int group3_id = -1;
|
|
|
|
int status = -1;
|
|
|
|
// Create a new file using default properties.
|
|
file_id = H5Fcreate_wrap (FILE, HDF5Constants.H5F_ACC_TRUNC,
|
|
HDF5Constants.H5P_DEFAULT,
|
|
HDF5Constants.H5P_DEFAULT);
|
|
|
|
// Create group "MyGroup" in the root group using absolute name.
|
|
group1_id = H5Gcreate_wrap (file_id, "/MyGroup", 0);
|
|
|
|
|
|
// Create group "Group_A" in group "MyGroup" using absolute name.
|
|
group2_id = H5Gcreate_wrap (file_id, "/MyGroup/Group_A", 0);
|
|
|
|
// Create group "Group_B" in group "MyGroup" using relative name.
|
|
group3_id = H5Gcreate_wrap (group1_id, "Group_B", 0);
|
|
|
|
// Close groups.
|
|
status = H5Gclose_wrap (group1_id);
|
|
status = H5Gclose_wrap (group2_id);
|
|
status = H5Gclose_wrap (group3_id);
|
|
|
|
// Close the file.
|
|
status = H5Fclose_wrap (file_id);
|
|
}
|
|
|
|
|
|
// Help function for creating a new file
|
|
public static int H5Fcreate_wrap (String name, int flags,
|
|
int create_id, int access_id)
|
|
{
|
|
int file_id = -1; // file identifier
|
|
try
|
|
{
|
|
// Create a new file using default file properties.
|
|
file_id = H5.H5Fcreate (name, flags, create_id, access_id);
|
|
|
|
}
|
|
catch (HDF5Exception hdf5e)
|
|
{
|
|
System.out.println
|
|
("CreateGroupAR.H5Fcreate_wrap() with HDF5Exception: "
|
|
+ hdf5e.getMessage());
|
|
}
|
|
catch (Exception e)
|
|
{
|
|
System.out.println
|
|
("CreateGroupAR.H5Fcreate_wrap() with other Exception: "
|
|
+ e.getMessage());
|
|
}
|
|
return file_id;
|
|
}
|
|
|
|
|
|
// Help function for creating a group named "/MyGroup" in the file.
|
|
public static int H5Gcreate_wrap (int loc_id, String name, int size_hint)
|
|
{
|
|
int group_id = -1; // group identifier
|
|
try
|
|
{
|
|
// Create a group
|
|
group_id = H5.H5Gcreate (loc_id, name, size_hint);
|
|
|
|
}
|
|
catch (HDF5Exception hdf5e)
|
|
{
|
|
System.out.println
|
|
("CreateGroupAR.H5Gcreate_wrap() with HDF5Exception: "
|
|
+ hdf5e.getMessage());
|
|
}
|
|
catch (Exception e)
|
|
{
|
|
System.out.println
|
|
("CreateGroupAR.H5Gcreate_wrap() with other Exception: "
|
|
+ e.getMessage());
|
|
}
|
|
return group_id;
|
|
}
|
|
|
|
|
|
// Help function for closing the group
|
|
public static int H5Gclose_wrap (int group_id)
|
|
{
|
|
int status = -1;
|
|
|
|
try
|
|
{
|
|
// Close the group
|
|
status = H5.H5Gclose (group_id);
|
|
}
|
|
catch (HDF5Exception hdf5e)
|
|
{
|
|
System.out.println
|
|
("CreateGroupAR.H5Gclose_wrap() with HDF5Exception: "
|
|
+ hdf5e.getMessage());
|
|
}
|
|
catch (Exception e)
|
|
{
|
|
System.out.println
|
|
("CreateGroupAR.H5Gclose_wrap() with other exception: "
|
|
+ e.getMessage());
|
|
}
|
|
return status;
|
|
}
|
|
|
|
|
|
// Help function for terminating access to the file.
|
|
public static int H5Fclose_wrap (int file_id)
|
|
{
|
|
int status = -1;
|
|
|
|
try
|
|
{
|
|
// Terminate access to the file.
|
|
status = H5.H5Fclose (file_id);
|
|
}
|
|
catch (HDF5Exception hdf5e)
|
|
{
|
|
System.out.println
|
|
("CreateGroupAR.H5Fclose_wrap() with HDF5Exception: "
|
|
+ hdf5e.getMessage());
|
|
}
|
|
catch (Exception e)
|
|
{
|
|
System.out.println
|
|
("CreateGroupAR.H5Fclose_wrap() with other exception: "
|
|
+ e.getMessage());
|
|
}
|
|
return status;
|
|
}
|
|
}
|