1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107
|
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* Copyright by The HDF Group. *
* All rights reserved. *
* *
* This file is part of HDF Products. The full HDF copyright *
* notice, including terms governing use, modification, and redistribution, *
* is contained in the file, COPYING. COPYING can be found at the root of *
* the source code distribution tree. You can also access it online at *
* https://www.hdfgroup.org/licenses. If you do not have access to the *
* file, you may request a copy from help@hdfgroup.org. *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
import hdf.hdflib.HDFConstants;
import hdf.hdflib.HDFLibrary;
/**
* <p>
* Title: HDF Native Package (Java) Example
* </p>
* <p>
* Description: this example shows how to create HDF4 groups using the
* "HDF Native Package (Java)". The example creates the group structure:
*
* <pre>
* "/" (root)
* g1
* g11
* g12
* g2
* g21
* g22
* </pre>
*
* </p>
*/
public class HDF4GroupCreate {
private static String fname = "HDF4GroupCreate.hdf";
public static void main(String args[]) throws Exception
{
long file_id = -1;
long subvgroup_id = -1;
long vgroup_id1 = -1;
long vgroup_id2 = -1;
// Create a new file using default properties.
try {
file_id = HDFLibrary.Hopen(fname, HDFConstants.DFACC_CREATE);
// Initialize the V interface.
if (file_id >= 0)
HDFLibrary.Vstart(file_id);
}
catch (Exception e) {
e.printStackTrace();
System.err.println("Failed to create file:" + fname);
return;
}
System.out.println("File created:" + fname);
try {
// Create the vgroup. Note that the vgroup reference number is set
// to -1 for creating and the access mode is "w" for writing.
if (file_id >= 0) {
vgroup_id1 = HDFLibrary.VSattach(file_id, -1, "w");
if (vgroup_id1 >= 0) {
HDFLibrary.VSsetname(vgroup_id1, "g1");
HDFLibrary.VSsetclass(vgroup_id1, "Empty Vdatas");
}
vgroup_id2 = HDFLibrary.VSattach(file_id, -1, "w");
if (vgroup_id2 >= 0) {
HDFLibrary.VSsetname(vgroup_id2, "g2");
HDFLibrary.VSsetclass(vgroup_id2, "Empty Vdatas");
}
}
}
catch (Exception e) {
e.printStackTrace();
}
// Close the groups.
try {
if (vgroup_id2 >= 0)
HDFLibrary.VSdetach(vgroup_id2);
}
catch (Exception e) {
e.printStackTrace();
}
try {
if (vgroup_id1 >= 0)
HDFLibrary.VSdetach(vgroup_id1);
}
catch (Exception e) {
e.printStackTrace();
}
// Close the file.
try {
if (file_id >= 0) {
HDFLibrary.Vend(file_id);
HDFLibrary.Hclose(file_id);
}
}
catch (Exception e) {
e.printStackTrace();
}
}
}
|