These files are Java versions of the example programs used in the
HDF-5 tutoral:
http://hdf.ncsa.uiuc.edu/training/hdf5/
The examples here correspond to the examples explained in the first
13 sections of the tutorial.
|
|
|
|
|
| Lesson 4 | Create an HDF-5 file. | h5_crtfile.c | CreateFile.java |
| Lesson 5 | Create a Dataset in an HDF-5 file | h5_crtdat.c | CreateDataset.java |
| Lesson 6 | Write and Read data in a dataset | h5_rdwt.c | DatasetRdWt.java |
| Lesson 7 | Create an attribute. | h5_crtatt.c | CreateAttribute.java |
| Lesson 8 | Create a group. | h5_crtgrp.c | CreateGroup.java |
| Lesson 9 | Using Absolute and relative paths | h5_crtgrpar.c | CreateGroupAR.java |
| Lesson 10 | Create a dataset in a group. | h5_crtgrpd.c | CreateGroupDataset.java |
| Lesson 11 | Using Compound Datatypes | h5_compound.c | Compound.java |
| Lesson 12 | Selection of a hyperslab. | h5_hyperslab.c | Hyperslab.java |
| Lesson 13 | Selection of elements. | h5_copy.c | Copy.java |
The Java tutorial programs try to stay close to the corresponding C program. The main function's structure almost same as C program, with one call for each HDF5 library function. For example, where the C program has a call to H5Fopen(), the Java program has a call to H5Fopen_wrap().
The wrapper functions call the HDF-5 library using the Java HDF-5 Interface (JHI5). The HDF-5 C interface returns error codes; these are represented by Java Exceptions in the JHI5. The wrapper function catches the exception and prints a message.
For example, the H5Fopen_wrap() method calls the JHI5, and catches any exceptions which may occur:
public static int H5Fopen_wrap (String name, int flags, int access_id)
{
int file_id = -1; // file identifier
try
{
// Create a new file using default file properties.
file_id = H5.H5Fopen (name, flags, access_id);
}
catch (HDF5Exception hdf5e)
{
System.out.println
("DatasetRdWt.H5Fopen_wrap() with HDF5Exception: "
+ hdf5e.getMessage());
}
catch (Exception e)
{
System.out.println
("DatasetRdWt.H5Fopen_wrap() with other Exception: "
+ e.getMessage());
}
return file_id;
}