By reading the code, it's apparent that libpst indeed does not expose a "close" method. The finalize()
method does close the underlying file when the PSTFile
is garbage-collected, so I'd recommend to use it in the smallest scope possible and dispose of it ASAP, but other than that there's not much you can do (except reporting an issue to the project - or better yet, sending a patch yourself, of course).
EDIT 1:
PSTFile
has a getFileHandle()
method which returns the underlying file, so you could close()
that:
PSTFile pstFile = new PSTFile("Path of the pst file");
// use the file
pstFile.getFileHandle().close();
EDIT 2:
I've created a pull request to add PSTFile.close()
. Let's see how it fans out.
EDIT 3:
My pull request has been merged (thanks Richard Johnson!). In the next release (or if you build java-libpst by yourself) you'll be able to call close()
on a PSTFile
directly.