The current HDFView products can be downloaded at:
This release was built and tested with HDF 4.2.13 and HDF5 1.8.19.
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 Native Interface
* The JNI libraries are now built separately from the HDFView and object
* Changed build system from CMake to ANT.
* Include the JRE for all packages.
* HDFView: Various issues with binary and hexadecimal display of integer
data types in the Table View have been fixed.
(JP - 2015/06/30, JAVA-1901)
* HDFView: Compound datatype field, Array of String, not displaying
properly. Added check for type of Array and looped over base type.
(JDB - 2015/06/30, JAVA-1904)
* HDFView: Added simple support for Array of Compounds members inside
Compound datatypes. Currently only Compound datatypes with Integer
and Float members are supported.
(JH - 2016/06/22)
* HDFView: Properly display singly-nested compound datatype with enum
member. Added check for missing/unknown values in enums. Added check
for already-converted enums before passing to convertEnumValueToName.
( - 2016/05/12, JH - 2016/07/08, JAVA-1922)
* HDFView: Dataset with compound datatype containing array of strings
is not displayed correctly. Problem not reproducible in code base.
(JH - 2016/07/08, JAVA-1921)
* HDFView: HDFView gives no indication that it cannot read a field in
compound array of compound. Added code to display value as
( - 2016/05/12, JAVA-1847)
* HDFView: HDFView problems with "Save Image As" for JPEG and BMP types.
Added check for Color model TYPE_INT_ARGB and converted to TYPE_INT_RGB
specifically for these types.
(JH - 2016/07/08, JAVA-1908)
* HDFView: Problems encountered during TableView open cause odd-looking
TableView with no associated data to open. Added check for null table
(JH - 2016/07/08, JAVA-1906)
* HDFView: Clicking "Help" button in New Dataset Dialog or New Attribute
Dialog shows an error. Added check to load file directly from jar file.
(JH - 2016/07/08, JAVA-1895)
* HDFView: Selecting "Cut" on a dataset, then selecting "Delete" causes
delete confirm dialog to be bypassed, immediately deleting the dataset
without confirmation and causing any further delete attempts on other
datasets to throw HDF5SymbolTableException. Added function to check for
this and ask user if they want to delete the dataset instead of moving
( - 2016/05/13, JAVA-1850)
* HDFView: HDFView didn't transpose/reshape data correctly. Corrected
TableView to use opposite indexing since reshape functioned as
transpose and vice versa.
(JH - 2016/07/11, JAVA-1796)
* HDFView: HDFView throws a NegativeSizeException when selecting "Open As"
on scalar datasets of type variable-length. Added check for negative
datatype size before using it to create arrays.
(JH - 2016/07/11, JAVA-1935)
* HDFView: HDFView cannot display arrays of variable-length strings
in either scalar or compound datasets. Since variable-length strings
have no datatype size, added specific check to TableView to directly
append the data to the TableView string buffer.
(JH - 2016/07/07, JAVA-1936)
Limitations / Known Problems
* HDFView compound datasets only allow tabs as separator\delimiter, a csv file
must include a tab to be consistent with copy/paste for compound fields.
* 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)