是否有任何方法可以直接将串行端口传入的数据保存到文件中

本文关键字:数据 存到文件 串行端口 方法 任何 是否 | 更新日期: 2023-09-27 18:29:07

我需要将整个传入的串行端口数据保存到一个文件中。有些人建议使用File.WriteAllBytes,但它会占用创建的字节数组的所有空索引。

        Array.Resize(ref Read_Data2, Read_Data2.Length + incoming.Length);
        public void SaveData(byte[] incoming)
        {
            for (int i = 0; i < incoming.Length; i++)
            {
                Read_Data2[x] = incoming[i];
                ++x;
            }

            File.WriteAllBytes("C:''Test3.text", Read_Data2);
        }

我使用该方法将所有传入的字节保存到Read_Data2中,但我认为有问题。它保存字节数组的空索引,正如我之前所说的。我该如何改进这一点,或者有没有更好的方法将传入的串行端口数据保存到文件中?

是否有任何方法可以直接将串行端口传入的数据保存到文件中

 private void mySerialPort_DataReceived(System.Object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
{
                SerialPort spL = (SerialPort)sender;
                byte[] bytesToRec = new byte[spL.byteToRead];
                Int64 bytes = spL.Read(bytesToRec, 0, bytesToRec.Length);
                navSerialPort.DiscardInBuffer();
                navSerialPort.DiscardOutBuffer();
                string filepath = @"" + textBox1.Text + "''" + "KMTU_" +DateTime.Now.ToString("MMM-d-yyyy") + ".hex";
                FileStream LogFile = new FileStream(filepath, FileMode.Create);
                LogFile.Write(bytesToRec, 0, bytesToRec.Length);
                 LogFile.Close();
}