我正在从源接收系统 IO 流。只有当它包含字符串时,我才会继续处理流对象"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 ;
}