The current HDF-Java products can be downloaded at:
This release was built and tested with HDF 4.2.10 and HDF5 1.8.14.
This release was built and tested with JDK 1.7.
This release was built and tested for the following platforms:
64-bit distribution -- runs on 64-bit systems with 64-bit JRE only
* Mac Intel
32-bit distribution -- runs on 32-bit systems with 32-bit JRE
Changes to the Java HDF5 Interface(JHI5)
* JAVA-1882: Changed OPEN_IDS from Vector to LinkedHashSet. Deprecated
int getOpenID (int index) function. Add trace logging to all
id create/close functions.
* Attributes can write simple, one dimensional variable-length datatypes.
Major Bug Fixes
* JAVA-1840: Issues with bit mask selection and usage.
* JAVA-1837: Fixed support for scalar images and attributes.
* JAVA-1844: Add slf4j logging document with example.
* JAVA-1840, JAVA-1854, JAVA-1862: Issues with bit mask selection and usage.
* JAVA-1847: Notification added to display fields that couldn't be read in
* JAVA-1666, JAVA-1878, JAVA-1880: Issues with filters and dynamic loading.
* JAVA-183: Correctly show bitfield and opaque datatypes.
* JAVA-1855: Object and Dataset Region references can be selected and viewed.
* JAVA-1853: Fix issue with any stride above 2 causing an off-by-one-error
and not displaying the last row/column.
* JAVA-1863: If attribute is of Integer class, set the correct type and size.
* Improved internal management of compound datatypes, limitations still apply.
* Improved usage of user.dir and user.home properties as defaults to hdfview.root
and new property hdfview.workdir properties. This also fixed
issues with the location for the open file dialog.
Limitations / Known Problems
* HDFView updates attribute changes directly to the file. However, the
metadata window will only update the values of attributes when focus is
changed in the treeview. The metadata window will only show the name
change when the file is reloaded.
* HDFView does not support undo operations; the editing results go to
files and cannot be recovered.
* HDFView does not support conversion between HDF4 and HDF5.
* HDFView supports only indexed images with RGB color model or 24-bit
true color images.
* Directly using multiple dimensional arrays causes a performance
problem because there is no direct mapping for multiple dimensional
arrays between Java and C.
* HDF 4 APIs with function pointers are not supported in HDF-Java.
* HDF 5 APIs with function pointers are selectively supported in HDF-Java.
* Specific to HDF4:
-- Deleting an object or attribute from an HDF4 file is not
supported. Deleting objects in HDF4 may leave dangling objects
or corrupt the file.
-- HDFView cannot modify compressed HDF4 SDS if the rank is greater
than two because the existing compression algorithms supported
by HDF do not allow partial modification to a compressed
-- HDFView cannot modify HDF4 vdata. HDF4 only writes vdata by
HDF-Java reads data by vdata fields because HDF-Java does not
support the data structure of a vdata record.
* Specific to HDF5:
-- Writing compound data is limited to simple cases. For example,
base compound fields that have primitive types such as integers,
floats, or characters can be written. HDFView does not write
complex compound data. For example, HDFView cannot write a dataset
that has a compound datatype with a region reference.
-- Writing variable-length data is not supported except for datasets
where each data point is a single variable-length string or a
one dimensional integer type.
-- There is no single JNI function that can handle HDF5 library
functions that have different return types for version 1.6 and
version 1.8. An additional function has been added to the JNI.
* public synchronized static native
int H5Tget_size(int type_id)
* public synchronized static native
long H5Tget_size_long(int type_id)