The java-object package just initializes things. It does not open files, so yes, you do have to call H5File.open() beforehand for this to work.
However, if you are having performance issues, then you should use the low-level JHI5 instead of the java-object package.
From: Hdf-forum [mailto:email@example.com] On Behalf Of Christophe Cornet
Sent: Tuesday, January 19, 2016 2:48 PM
Subject: [Hdf-forum] Java hdf.object problem : cannot access groups via external links.
Hello everyone, I'm very new to the Hdf5 universe, so forgive me if I'm completely off-track.
I have a problem using the java-object package (ncsa.hdf.object.h5).
I have one (file1.h5) file that contains an external link to another file (file2.h5).
I create a new H5File("file1.h5"); and I try to use the get() method to access a group in the linked-to file. This causes the hdf library to crash, taking down my application with it.
After playing around a while, I've come to the conclusion that:
- without going via external links, all is ok
- access to data (i.e. not groups) in file2.h5 via file1.h5 is ok
- if I use H5File.open() beforehand, all is ok
- if I use the low-level functions in the class ncsa.hdf.hdf5lib.H5, all is ok.
Have I found a bug? If so, how do I report it? I can provide sample code if need be.
At the moment, I'm working around the problem by calling open() beforehand, but as my hdf files are getting bigger and bigger, it's causing the open() to run extremely slowly!