The basic thing to remember is that all files are binary. The only difference with the ones we arbitrarily define as "text" files is that the binary data in them was stored using a coding mechanism (called ASCII) that is readable by human beings.
You can certainly call Write to I16 twice, just be sure that the second call appends to the file, otherwise the data will overwrite the header you just created.
Reading the result gets a little trickier. You have to know ahead of time how any characters will be in the header. If this value isn't constant, make the size of the header (in bytes) the first value stored in the file. Assuming a non-constant header length and a 16-bit header length, you could create the file as follows:
1. Generate the header and count the number of bytes in it. If the header is an array of I16 values, the byte count is the number of elements in the array times 2.
2. Add an element to the beginning of the header array containing the header count.
3. Write the header to the file (using Write to I16.vi if you wish).
4. Write the data to the file with the write routine set to append the data to the file.
With this file structure, your read would proceed as follows:
1. Read the first two bytes of the file and convert to a U16. This is your header count.
2. Starting at the marker returned at the end of Step 1, read the number of bytes returned in Step 1. This is your header. Decode as necessary to convert the data into the form the rest of your program needs.
3. Starting at the marker returned at the end of Step 2, read the rest of the file and convert to an array of I16 values. This is your data. Decode as necessary to convert it into the form the rest of your program needs.
This same basic structure will work regardless of whether the data portion of the file is a 1D or 2D array, and regardless of the actual structure of the header data.
Hope this helps...
Mike...
PS: Right now I am without access to a development system, but I should have one again sometime next week. If you can't get this working give a shout and I'll put something together for you as soon as I'm up and running again...