Я получаю потоки системы IO из источника. Я продолжу объект потока только в том случае, если он содержит строку "MSTND"
.Поиск по шаблону в System.IO.Stream
Я понимаю, что в потоке мало что можно сделать, если я не превращу его в строку. Преобразование строк предназначено только для подстроки. Но я не хочу делать ничего, что занимает много времени или пространства. Как интенсивность времени/пространства является преобразованием из Stream в строку только для подстроки?
Код я написал:
private bool StreamHasString (Stream vStream)
{
bool containsStr = false;
byte[] streamBytes = new byte[vStream.Length];
vStream.Read(streamBytes, 0, (int) vStream.Length);
string stringOfStream = Encoding.UTF32.GetString(streamBytes);
if (stringOfStream.Contains("MSTND"))
{
containsStr = true;
}
return containsStr ;
}