Example_ Arrays Example 2
import hec.heclib.dss.*;
import hec.io.ArrayContainer;
// Example using HecDssArray to write and read various data types
//
public class ExampleArray2 {
public static void main (String args[]) {
HecDssArray dssArray = new HecDssArray();
int status = dssArray.setDSSFileName("C:/temp/Example7.dss");
if (status != 0) {
System.out.println("Cannot access DSS file: C:/temp/Sample7.dss" );
return;
}
// Save our last computation information
// (Only one array per pathname)
ArrayContainer lastPoint = new ArrayContainer();
lastPoint.setName("/Red/Bend/Current Computation Point///Study 1/");
int intArray[] = new int[1];
intArray[0] = 1234;
lastPoint.setIntArray(intArray);
status = dssArray.write(lastPoint);
if (status != 0) {
System.out.println("Error in int array store");
return;
}
// Now save float input, then double results
ArrayContainer input = new ArrayContainer();
input.setName("/Red/Bend/Input///Study 1/");
// Gen up data
float floatArray[] = new float[50];
for (int i=0; i<floatArray.length; i++) {
floatArray[i] = (float)i;
}
input.setFloatArray(floatArray);
ArrayContainer results = new ArrayContainer();
results.setName("/Red/Bend/Results///Study 1/");
double doubleArray[] = new double[75];
for (int i=0; i<doubleArray.length; i++) {
doubleArray[i] = (double)(i * 100);
}
results.setDoubleArray(doubleArray);
// Store
status = dssArray.write(input);
if (status != 0) {
System.out.println("Error storing input");
return;
}
status = dssArray.write(results);
if (status != 0) {
System.out.println("Error storing results");
return;
}
dssArray.done();
// Read data
HecDssArray dssReadArray = new HecDssArray();
status = dssReadArray.setDSSFileName("C:/temp/Example7.dss");
if (status != 0) {
System.out.println("Cannot access DSS file: C:/temp/Sample7.dss" );
return;
}
ArrayContainer lastPointRead = new ArrayContainer();
lastPointRead.setName(lastPoint.getName());
ArrayContainer inputRead = new ArrayContainer();
inputRead.setName(input.getName());
ArrayContainer resultsRead = new ArrayContainer();
resultsRead.setName(results.getName());
status = dssReadArray.read(lastPointRead);
if (status != 0) {
System.out.println("Error reading last point");
return;
}
status = dssReadArray.read(inputRead);
if (status != 0) {
System.out.println("Error reading input");
return;
}
status = dssReadArray.read(resultsRead);
if (status != 0) {
System.out.println("Error reading results");
return;
}
dssReadArray.done();
// Now use the data.
if (lastPointRead.isIntArray() == true) {
int iarray[] = lastPointRead.getIntArray();
System.out.println("Last computation point: " + iarray[0]);
}
if (inputRead.isFloatArray() == true) {
float farray[] = inputRead.getFloatArray();
for (int i=0; i<farray.length; i++) {
System.out.println(farray[i]);
}
}
if (resultsRead.isDoubleArray() == true) {
double darray[] = resultsRead.getDoubleArray();
for (int i=0; i<darray.length; i++) {
System.out.println(darray[i]);
}
}
HecDataManager.closeAllFiles(); // Only at the end of the program
}
}
JAVA