代码之家  ›  专栏  ›  技术社区  ›  Brian Sweeney

FileStream.Read(…):我会得到一个半字节而不是字节吗?

  •  1
  • Brian Sweeney  · 技术社区  · 15 年前

    我对C#中的一个字节数组进行了许多位运算。我通过调用FileStream.Read获取数组。我刚刚意识到,如果某个文件的某个地方有坏字节或坏字节,我不确定会发生什么。举个例子,可能是一个啃掉的一小口或者类似的东西。文件流将如何处理它?混乱的字节会被Read方法“四舍五入”吗?是否会引发异常?或者这是事实上永远不会发生的事情?

    谢谢, 布莱恩

    1 回复  |  直到 15 年前
        1
  •  4
  •   Brian R. Bondy    15 年前

    如果你的 FileStream.Read

    文件流读取

    有这样的事情,但例如,作为一个坏集群在您的硬盘上,在这种情况下,您的读取将失败与某种异常。

    为了完整起见,我还应该提到,每种文件类型都有一种文件格式。也就是说,你应该如何解释二进制数据。有可能一个或几个字节不遵循文件格式。通过这种方式,你可以将一个字节看作是损坏或无效的,但它并不是真正的损坏或无效,只是在文件格式指定的方面是错误的。