1

是否有任何 Stream 阅读器类可以仅读取charfromstringbytefrom的数量byte[]

例如读取字符串:

string chunk = streamReader.ReadChars(5); // Read next 5 chars

或读取字节

byte[] bytes = streamReader.ReadBytes(5); // Read next 5 bytes

请注意,此方法的返回类型或类的名称无关紧要。我只是想知道是否有类似的东西然后我可以使用它。

我有byte[]来自 midi 文件。我想用 C# 阅读这个 midi 文件。但我需要能够读取字节数。或字符(如果我将其转换为十六进制)。验证 midi 并更轻松地从中读取数据。

4

2 回答 2

2

感谢您的评论。我不知道读取方法存在重载。我可以用 FileStream 实现这一点。

        using (FileStream fileStream = new FileStream(path, FileMode.Open))
        {
            byte[] chunk = new byte[4];
            fileStream.Read(chunk, 0, 4);
            string hexLetters = BitConverter.ToString(chunk); // 4 Hex Letters that i need!
        }
于 2015-07-02T00:13:08.087 回答
0

您可以通过执行以下操作来实现此目的,但我不确定这是否适用于您的问题。

 StreamReader sr = new StreamReader(stream);
 StringBuilder S = new StringBuilder();
 while(true)
 {
 S = S.Append(sr.ReadLine());
 if (sr.EndOfStream  == true)
      {
         break;
      }
 }

一旦你对“S”有了价值,你就可以考虑它的子字符串。

于 2015-07-01T23:59:57.977 回答