PeerCastStation.MKV.Element.ReadString C# (CSharp) Method

ReadString() public static method

public static ReadString ( Stream s, long len ) : string
s Stream
len long
return string
    public static string ReadString(Stream s, long len)
    {
      var buf = new byte[len];
      if (s.Read(buf, 0, (int)len)<len) {
        throw new EndOfStreamException();
      }
      return System.Text.Encoding.UTF8.GetString(buf);
    }
  }

Usage Example

 public EBML(Element element)
     : this()
 {
     this.Element = element;
     using (var s = new MemoryStream(this.Element.Data)) {
         while (s.Position < s.Length)
         {
             var elt = Element.ReadHeader(s);
             if (elt.ID.BinaryEquals(Elements.EBMLVersion))
             {
                 this.Version = (int)Element.ReadUInt(s, elt.Size.Value);
             }
             else if (elt.ID.BinaryEquals(Elements.EBMLReadVersion))
             {
                 this.ReadVersion = (int)Element.ReadUInt(s, elt.Size.Value);
             }
             else if (elt.ID.BinaryEquals(Elements.EBMLMaxIDLength))
             {
                 this.MaxIDLength = (int)Element.ReadUInt(s, elt.Size.Value);
             }
             else if (elt.ID.BinaryEquals(Elements.EBMLMaxSizeLength))
             {
                 this.MaxSizeLength = (int)Element.ReadUInt(s, elt.Size.Value);
             }
             else if (elt.ID.BinaryEquals(Elements.DocType))
             {
                 this.DocType = Element.ReadString(s, elt.Size.Value);
             }
             else if (elt.ID.BinaryEquals(Elements.DocTypeVersion))
             {
                 this.DocTypeVersion = (int)Element.ReadUInt(s, elt.Size.Value);
             }
             else if (elt.ID.BinaryEquals(Elements.DocTypeReadVersion))
             {
                 this.DocTypeReadVersion = (int)Element.ReadUInt(s, elt.Size.Value);
             }
             else
             {
                 elt.ReadBody(s);
             }
         }
     }
 }