我有一个派生自System.IO.Stream的自定义流阅读器,它不支持位置和Seek将头移动到开始两次读取流。
我需要在执行ReadToEndAsync()之前将流复制到另一个变量。我稍后会使用复制流从头开始再次阅读。
有没有办法可以做到这一点?
var stream = customStream;
customStream.ReadToEndAsync();
var st = new StreamReader(stream);
st.ReadToEndAsync();
没有获取任何数据,因为head位于前一个命令的流的末尾。
我试过了
Stream.Position = 0;
//无效,因为自定义Stream Reader不支持
stream.BaseStream.Seek(0, SeekOrigin.Begin);
//无效,因为自定义Stream Reader不支持