ソースからシステム IO ストリームを受信しています。string が含まれている場合にのみ、ストリーム オブジェクトを処理します"MSTND"
。
ストリームを文字列に変換しない限り、ストリームでできることはあまりないことに気付きました。文字列変換は、部分文字列の一致のみを対象としています。でも、時間や場所をとられるようなことはしたくありません。部分文字列の一致のためだけに、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 ;
}