该程序通过使用BinaryWrite流的基类流BaseStream流来建立BinaryRead流通过MemoryStream内存流来写入和读出数据这样就不必保存在文件的中介了。
源代码如下:using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
namespace BinaryStreamConsole
{
class Program{
static void Main(string[] args){
const int arrayLength = 100;
// 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, 0, arrayLength);
// 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 = new byte[arrayLength];
if (binReader.Read(verifyArray, 0, arrayLength) != 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;
}else{
Console.WriteLine(verifyArray[i].ToString());
}
}
Console.WriteLine("The data was written and verified.");
Console.ReadLine();
}
}
}
本文展示了如何使用C#的BinaryWriter和BinaryReader类在内存中进行二进制数据的读写操作,避免了文件作为中介。通过创建随机数据,将其写入MemoryStream,然后从同一个流中读取并验证数据,确保数据的正确性。
1万+

被折叠的 条评论
为什么被折叠?



