BinaryWriter BinaryReader 是一个二进制流管理对象,方便我们操作这些二进制数据,值得借鉴,相比我们自己去拼接与遍历要好的多。
代码
static void Main()
{
const int arrayLength = 1000;
// Create random data to write to the stream.
byte[] dataArray = new byte[arrayLength];
new Random().NextBytes(dataArray);
BinaryWriter binWriter = new BinaryWriter(new MemoryStream());
// Write the data to the stream.
Console.WriteLine("Writing the data.");
binWriter.Write(dataArray);
// Create the reader using the stream from the writer.
BinaryReader binReader =
new BinaryReader(binWriter.BaseStream);
// Set Position to the beginning of the stream. //设置流开始的位置
binReader.BaseStream.Position = 0;
// Read and verify the data. 读取并验证数据,从二进制流中读取。
byte[] verifyArray = binReader.ReadBytes(arrayLength); //从binReader对象当中读取指定长度数据 binReader对象已经被初始化。
if(verifyArray.Length != arrayLength)
{
Console.WriteLine("Error writing the data.");
return;
}
for(int i = 0; i < arrayLength; i++)
{
if(verifyArray[i] != dataArray[i])
{
Console.WriteLine("Error writing the data.");
return;
}
}
Console.WriteLine("The data was written and verified.");
}
{
const int arrayLength = 1000;
// Create random data to write to the stream.
byte[] dataArray = new byte[arrayLength];
new Random().NextBytes(dataArray);
BinaryWriter binWriter = new BinaryWriter(new MemoryStream());
// Write the data to the stream.
Console.WriteLine("Writing the data.");
binWriter.Write(dataArray);
// Create the reader using the stream from the writer.
BinaryReader binReader =
new BinaryReader(binWriter.BaseStream);
// Set Position to the beginning of the stream. //设置流开始的位置
binReader.BaseStream.Position = 0;
// Read and verify the data. 读取并验证数据,从二进制流中读取。
byte[] verifyArray = binReader.ReadBytes(arrayLength); //从binReader对象当中读取指定长度数据 binReader对象已经被初始化。
if(verifyArray.Length != arrayLength)
{
Console.WriteLine("Error writing the data.");
return;
}
for(int i = 0; i < arrayLength; i++)
{
if(verifyArray[i] != dataArray[i])
{
Console.WriteLine("Error writing the data.");
return;
}
}
Console.WriteLine("The data was written and verified.");
}