我怎样才能更快地使用readbyte函数
本文关键字:readbyte 函数 | 更新日期: 2023-09-27 18:08:05
我在c#中使用串口,我的代码是这样的:
FileStream MyFile = new FileStream(strFileDestination, FileMode.Append);
BinaryWriter bwFile = new BinaryWriter(MyFile);
bwFile.Write(serialPort1.ReadExisting());
bwFile.Close();
MyFile.Close();
使用
bwFile.Write(serialPort1.ReadByte());
不是bwFile.Write(serialPort1.ReadExisting());
时,文件写速度从130 KB/s左右下降到28 KB/s当我使用
bwFile.Write((byte)serialPort1.ReadByte());
,写速度降为7kb/s。
您是否考虑过简单地使用流来写入数据?我不认为你实际上是在使用BinaryWriter在Stream.Write上提供的额外功能。
直接调用CopyTo()方法
Stream destination = new FileStream(...)
MyFile.CopyTo(destination);
调用下面的代码:
byte[] buffer = new byte[bufferSize];
int read;
while ((read = serialPort1.Read(buffer, 0, buffer.Length)) != 0)
{
destination.Write(buffer, 0, read);
}
查看这篇文章获取更多信息:https://stackoverflow.com/a/411605/283787