C#信号窗口数据TXT格式保存

C#信号窗口数据TXT格式保存

C#信号窗口数据TXT格式保存

开发一个项目,读取温度信号或者是读取热电偶电压信号转变成温度信号,对温度变化对工程的影响进行分析。这其中需要把信号进行窗口放大,然后保存。二话不说,上这一段代码。

信号放大窗口的数据保存C#代码

      var min = Chart1.ChartAreas[0].AxisX.ScaleView.ViewMinimum;


        var max = Chart1.ChartAreas[0].AxisX.ScaleView.ViewMaximum;

        if (Convert.ToUInt16(max) < ThermoData.Len[0])
        {
            SaveFileDialog sfd = new SaveFileDialog();
            sfd.Filter = " TXT文件 | *.txt | CSV文件 | *.csv ";

            if (sfd.ShowDialog() == DialogResult.OK)
            {
                FileStream fs = new FileStream(sfd.FileName, FileMode.Create, FileAccess.Write);
                StreamWriter sw = new StreamWriter(fs);
                string data = "TRTR" + "\r\n";
                data += ThermoData.itemname+"\r\n";
                for (int pointIndex = Convert.ToUInt16(min); pointIndex < Convert.ToUInt16(max); pointIndex++)
                {
                    data +=  Convert.ToString(ThermoData.temp0[pointIndex]) + "," + Convert.ToString(ThermoData.temp1[pointIndex]) + "," + Convert.ToString(ThermoData.temp2[pointIndex]) + "," + Convert.ToString(ThermoData.temp3[pointIndex]) + "," + Convert.ToString(ThermoData.temp4[pointIndex]) + "," + Convert.ToString(ThermoData.temp5[pointIndex])+"\r\n";
                    
                }

                /* + "," +
                        Convert.ToString(ThermoData.temp5[pointIndex]) + "," + Convert.ToString(ThermoData.temp6[pointIndex]) + "," + Convert.ToString(ThermoData.temp7[pointIndex]) + "," + Convert.ToString(ThermoData.temp8[pointIndex]) + "," +
                        Convert.ToString(ThermoData.temp9[pointIndex]) + "," + Convert.ToString(ThermoData.temp10[pointIndex]) + "," + Convert.ToString(ThermoData.temp11[pointIndex]) + "," + Convert.ToString(ThermoData.temp12[pointIndex]) + "," +
                        Convert.ToString(ThermoData.temp13[pointIndex]) + "," + Convert.ToString(ThermoData.temp14[pointIndex]) + "," + Convert.ToString(ThermoData.temp15[pointIndex]) + "," + Convert.ToString(ThermoData.temp16[pointIndex]) 
                */

                sw.WriteLine(data);
                sw.Close();
                fs.Close();
            }

        }

    }

程序执行后,窗口数据保存很完美,打开TXT文件,一切显示正常,但是有一点,再用项目程序读取该文件,却一直报错。
经多次反复原因分析,发现在TXT文件数据最后一行多了一个换行。把原代码的一部分修改为如下格式,世界一下就美好起来了。

data += "\r\n"+ Convert.ToString(ThermoData.temp0[pointIndex]) + "," + Convert.ToString(ThermoData.temp1[pointIndex]) + "," + Convert.ToString(ThermoData.temp2[pointIndex]) + "," + Convert.ToString(ThermoData.temp3[pointIndex]) + "," + Convert.ToString(ThermoData.temp4[pointIndex]) + "," + Convert.ToString(ThermoData.temp5[pointIndex]);

猜你喜欢

转载自blog.csdn.net/lch737171__/article/details/109067855