2013-10-09 23 views
0
short[] sArray = new short[100]; 

sArray [100]中的许多16位数据,所以我想用BinaryWriter类写入。如何使用短的[]到BinaryWriter?

但是BinaryWriter只写入(byte [])和写入(char [])。

如何将16位(short [])数据写入文件?

回答

3

您需要使用BinaryWriter.Write(short) Method分别编写每个值。

写作:

binaryWriter.Write(sArray.Length); // BinaryWriter.Write(Int32) overload 
for (int i = 0; i < sArray.Length; i++) 
{ 
    binaryWriter.Write(sArray[i]); // BinaryWriter.Write(Int16) overload 
} 

阅读:

short[] result = new short[binaryReader.ReadInt32()]; 
for (int i = 0; i < result.Length; i++) 
{ 
    result[i] = binaryReader.ReadInt16(); 
} 
+0

谢谢回答。 但是写:for(int i = 0; i 编译错误:过载错误 sArray [i]数据是短的数据... – user2853714

+0

我测试了代码,它在我的机器上工作。 – dtb