Tim*_*hyP 2 c# memory .net-micro-framework netduino
在ChipworkX设备上,我们将使用以下方法读取文件:
File.ReadAllBytes(filename);
Run Code Online (Sandbox Code Playgroud)
但是如果我们在内存量少得多的NetDuino Plus上尝试,
我们就会得到一个OutOfMemoryException.
文件不是那么大,但我想在这种情况下都是相对的(最大1.5kb).
在这样的设备上读取文件的正确方法是什么?
用一个 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只是一个示例,读取为您可以一次处理的大块.您可以根据数据进行更改.