I have an array of shorts (short[]) that I need to write out to a file. What's the quickest way to do this?
+6
A:
Use the BinaryWriter
static void WriteShorts(short[] values, string path)
{
using (FileStream fs = new FileStream(path, FileMode.OpenOrCreate, FileAccess.Write))
{
using (BinaryWriter bw = new BinaryWriter(fs))
{
foreach (short value in values)
{
bw.Write(value);
}
}
}
}
Jon B
2008-10-22 02:19:20
A:
Following up on Jon B's answer, if your file contains any other data, you might want to prefix the data with the count of values.
i.e.:
static void WriteShorts(short[] values, string path)
{
using (FileStream fs = new FileStream(path, FileMode.OpenOrCreate, FileAccess.Write))
{
using (BinaryWriter bw = new BinaryWriter(fs))
{
// Write the number of items
bw.Write(values.Length);
foreach (short value in values)
{
bw.Write(value);
}
}
}
}
Brannon
2008-10-22 02:28:01