C#/如何从流中删除旧数据

时间:2017-07-02 02:18:41

标签: c# android

研究员,

我正在使用下面的代码从蓝牙设备接收数据,有用的信息在'F'到来后立即结束,然后收到'\ r'和'\ n'。

问题是,当程序再次开始接收数据时,前两个字节是'\ r'和'\ n'。

我试过dispose(),close()和flush(),但是当代码再次到达wile循环时,字符串分隔符(\ r和\ n)仍然存在。    我只需要在接收新字节之前删除旧数据。

int i1 = 0;
while (true)
{
    datum[i1] = await Task.Run(() => (byte)InmStream.ReadByte());
    int datum_check = datum[i1];
    if (datum_check == 70) // F (char) = 70  
        {
            datum[i1] = Convert.ToByte(10); // replaces the F by '\n'
            break;
        }
        i1++;
}

代码运行时第一次收到的前7个字节datum [0],直到datum [6]为:3,\ r,\ n,3,5,\ r和\ n。

第二次运行中接收的7个字节是:\ r,\ n,3,\ r,\ n,3,5,...

有什么建议吗?提前谢谢。

值得一提的是,我的背景来自一个完全不同的领域。

0 个答案:

没有答案