.NET Micro Framework,读取内存有限的设备上的文件

Tim*_*hyP 2 c# memory .net-micro-framework netduino

在ChipworkX设备上,我们将使用以下方法读取文件:

File.ReadAllBytes(filename);
Run Code Online (Sandbox Code Playgroud)

但是如果我们在内存量少得多的NetDuino Plus上尝试,
我们就会得到一个OutOfMemoryException.

文件不是那么大,但我想在这种情况下都是相对的(最大1.5kb).

在这样的设备上读取文件的正确方法是什么?

Alb*_*nbo 5

用一个 FileStream

using (var fileStream = new FileStream(filename, FileMode.Open))
{
    byte[] block = new byte[1024];
    int readLength;
    while ((readLength = fileStream.Read(block, 0, block.Length)) > 0)
    {
        Process(block, readLength);
    }
}
Run Code Online (Sandbox Code Playgroud)

编写自己的Process方法.块长度1024只是一个示例,读取为您可以一次处理的大块.您可以根据数据进行更改.