Tôi đang nhận Luồng IO hệ thống từ một nguồn. Tôi sẽ chỉ tiếp tục với đối tượng luồng nếu nó chứa chuỗi "MSTND"
.Tìm kiếm mẫu trong System.IO.Stream
Tôi nhận ra rằng tôi không thể làm gì nhiều trên luồng trừ khi tôi chuyển đổi chuỗi thành chuỗi. Việc chuyển đổi chuỗi chỉ dành cho kết hợp chuỗi con. Nhưng tôi không muốn làm bất cứ thứ gì chiếm nhiều thời gian hoặc không gian. Làm thế nào thời gian/không gian chuyên sâu là một chuyển đổi từ Stream thành chuỗi chỉ cho phù hợp với chuỗi phụ?
Mã tôi đã viết là:
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 ;
}