Bir kaynaktan Sistem IO Akışları alıyorum. Akış nesnesine yalnızca "MSTND"
dizesini içeriyorsa devam edeceğim.Desen arama bir System.IO.Stream
Akışı dize haline getirmedikçe akışta yapabileceğim fazla bir şey olmadığını anlıyorum. Dize dönüştürme sadece alt dizgi eşleşmesi içindir. Ama çok fazla zaman alan ya da yer kaplayan hiçbir şey yapmak istemiyorum. Zaman/alan yoğunluğu, yalnızca alt dizgi eşleşmesi için Akıştan dizeye nasıl bir dönüşümdür?
yazdım kodudur:
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 ;
}