如何对 BinaryWriter 使用 short[]?
Posted
技术标签:
【中文标题】如何对 BinaryWriter 使用 short[]?【英文标题】:How do I use a short[] to a BinaryWriter? 【发布时间】:2013-10-09 11:15:54 【问题描述】:short[] sArray = new short[100];
sArray[100] 中有很多 16 位数据,所以我想用 BinaryWriter 类来写。
但是 BinaryWriter 只有 write(byte[]) 和 write(char[])。
如何将16位(short[])数据写入文件?
【问题讨论】:
【参考方案1】:您需要使用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();
【讨论】:
谢谢你的回答。但是写作: for(int i=0; i以上是关于如何对 BinaryWriter 使用 short[]?的主要内容,如果未能解决你的问题,请参考以下文章
原 BinaryWriter和BinaryReader(二进制文件的读写)
FileStream和StreamReader,StreamWrite,BinaryWriter
C#文件读取,FileSteam和BinaryWriter/Reader的使用
手记注意BinaryWriter写string的小坑——会在string前加上长度前缀length-prefixed