0

我编写了一个将二进制文件读取到字节数组的小函数。但是有 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());

澄清 - 我试图读取的二进制文件不是空的并且包含一些字符串(当我用一些文件编辑工具打开它时看到这个)。

此外,这些双鱼座代码可以成功读取其他二进制文件。

可能是什么问题?一个二进制文件与另一个二进制文件有区别吗?

4

0 回答 0