存储到bin文件

时间:2015-10-05 09:08:31

标签: c# serialization binaryfiles binaryreader binarywriter

我正在将一个数据矩阵保存到一个bin文件中,并且有些时间(这是奇怪的部分)它交换了最后一行,它显示为第3行或第4行。不一致。 系统实时运行存储放大器的数据。放大器发送样本包,在一个包中每个(9)个通道有1个样本,第9个是特殊信号。

这是基本结构:

using (FileStream fs = new FileStream (path, FileMode.Create))
{
    using (BinaryWriter bw = new BinaryWriter(fs))
    {
        while(recording)
        {
            packages = readData();
            foreach(Package package in packages) //packages of 9 floats
            {
               foreach(float sample in package)
               {
                   binaryWriter.Write(sample)
               }
            }
        }
    }
}

这就是我从bin文件中读取数据的方式。

using (FileStream fs = File.OpenRead(path))
        {
            int numElems = (int)(fs.Length / sizeof(float));
            int numChannels = 9;
            numElems = numElems / numChannels;



            using (BinaryReader br = new BinaryReader(fs))
            {
                for (int col = 0; col < numElems; ++col)
                {
                    data.Add(new List<float>());
                    for (float elem = 0; elem < numChannels; ++elem)
                    {
                        data[col].Add(br.ReadSingle());
                    }
                }

            }
        }

在那里,我发现有时,特殊信号ara在chennel num 4而不是最后的第9个通道。

有任何线索吗?可能是因为一些缺失的样本使整个事情变得困难和转移或......某事?

0 个答案:

没有答案