h5jam -u user_block -i in_file.h5 [-o out_file.h5] [--clobber]
h5jam -h
h5unjam -i in_file.h5
[-u user_block | --delete] [
-o out_file.h5]
h5unjam -h
h5jam
concatenates a user_block
file and an HDF5 file to create an HDF5 file with a user block.
The user block can be either binary or text.
The output file is padded so that the HDF5 header begins on
byte 512, 1024, etc.. (See the HDF5 File Format.)
If out_file.h5
is given, a new file is created with the user_block
followed by the contents of in_file.h5.
In this case, infile.h5
is unchanged.
If out_file.h5
is not specified, the user_block
is added to in_file.h5
.
If in_file.h5 already has a user block, the contents of user_block
will be added to the end of the existing user block, and the file shifted to the next boundary. If -clobber
is set, any existing user block will be overwritten.
h5unjam
splits an HDF5 file, writing the
user block to a file or stdout and the HDF5 file to an HDF5 file with a header at byte
0 (i.e., with no user block).
If out_file.h5
is given, a new file is created with the in_file.h5
without the user block.
In this case, infile.h5
is unchanged.
If out_file.h5
is not specified, the user_block
is removed and in_file.h5
is rewritten, starting at byte 0.
If user_block
is set,the user block will be written to user_block
. If user_block
is not set, the user block (if any) will be written to stdout. If
-delete
is selected, the user block will not be not written.
newfile.h5
, with the text in file mytext.txt
as the user block for the HDF5 file file.h5
.
h5jam -u mytext.txt -i file.h5 -o newfile.h5Add text in file
mytext.txt
to front of HDF5 dataset, file.h5
.
h5jam -u mytext.txt -i file.h5Overwrite the user block (if any) in
file.h5
with the contents of mytext.txt
.
h5jam -u mytext.txt -i file.h5 --clobberFor an HDF5 file,
with_ub.h5
, with a user block, extract the user block to user_block.txt
and the HDF5 file to wo_ub.h5
.
h5unjam -i with_ub.h5 -u user_block.txt -o wo_ub.h5
h5jam
returns the size of the output file, or -1 if an error occurs.
h5unjam
returns the size of the output file, or -1 if an error occurs.
The most efficient way to create a user block is to create the file
with a user block (see H5Pset_user_block
), and write
the user block data into that space from a program.
The user block is completely opaque to the HDF5 library and to the h5jam and h5unjam tools. The user block is simply read or written as a string of bytes, which could be text or any kind of binary data. It is up to the user to know what the contents of the user block means and how to process it.
When the user block is extracted, all the data is written to the output, including any padding or unwritten data.
This tool moves the HDF5 file through byte copies, i.e., it does not read or interpret the HDF5 objects.