从二进制文件C#中读取“null”

时间:2013-05-19 12:56:48

标签: c# file binary bytearray filestream

我写了一个小函数,它将二进制文件读取到一个字节数组。 但是有一个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());
澄清 - 我试图读取的二进制文件不是空的并且包含一些字符串(当我用一些文件编辑工具打开它时看到这一点)。

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

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

0 个答案:

没有答案