我编写了一个将二进制文件读取到字节数组的小函数。但是有 1 个 bin 文件,当我阅读它时,它给了我“null”(如果它的 char[])或零(如果它的 byte[]),我在调试模式下看到它。问题是,当我使用同一个函数来读取另一个 bin 文件时,它的效果非常好!
这是一段代码:
FileStream fs = new FileStream(path, FileMode.Open, FileAccess.Read);
BinaryReader r = new BinaryReader(fs);
for (int i = 0; i < 500; i++)
{
data[i] = r.ReadByte();
}
这是我正在使用的另一个功能:
byte[] fileBytes = File.ReadAllBytes(path);
StringBuilder sb = new StringBuilder();
foreach (byte b in fileBytes)
{
sb.Append(Convert.ToString(b, 2).PadLeft(8, '0'));
}
File.WriteAllText(outputFilename, sb.ToString());
澄清 - 我试图读取的二进制文件不是空的并且包含一些字符串(当我用一些文件编辑工具打开它时看到这个)。
此外,这些双鱼座代码可以成功读取其他二进制文件。
可能是什么问题?一个二进制文件与另一个二进制文件有区别吗?