一次读取整个文件或字节

时间:2012-03-15 13:18:40

标签: c#

我正在编写一个串行接口,将文件发送到我通过串行接口开发的FPGA项目。

程序应该将一个数据包(16个字节)发送到FPGA,然后在收到确认后,程序应该发送下一个数据包。

我的问题是:

读取文件时,是否习惯将整个文件读入内存/字节数组?

或者程序一次只读取文件中的16个字节,并在需要发送下一个数据包时读取接下来的16个字节?

先谢谢, 麦克

2 个答案:

答案 0 :(得分:0)

假设您一次需要超过16个字节,最简单的代码是一次读取16个字节,使用它们,然后再读取16个字节的代码。

如果您尝试一次读取整个文件,则必须增加额外的复杂性 - 您需要添加缓冲代码和数组末尾边界检查。你不需要任何这些。把事情简单化;阅读你需要的东西,使用它,然后阅读更多。

答案 1 :(得分:0)

最常见的解决方案是一次读取16个字节(或者需要处理多个字节)。

如果文件非常大,读取整个文件可能会更糟糕,如果文件非常大,可能会导致OutOfMemoryException

如果文件相对较小,您可能不会注意到这两种技术之间存在很大差异。