StreamWriter
への書き込みに使用している次のコードがありますMemoryStream
。ただし、ストリームを読み戻そうとすると、切り捨てられたデータが取得されます。
using(var outStream = new MemoryStream())
using (var outWriter = new StreamWriter(outStream))
{
// my operation that's writing data to the stream
var outReader = new StreamReader(outStream);
outStream.Flush();
outStream.Position = 0;
return outReader.ReadToEnd();
}
これにより、ほとんどのデータが返されますが、最後近くで切り捨てられます。ただし、代わりにファイルに書き込もうとすると、MemoryStream
コンテンツ全体が取得されるため、データがストリームに到達していることはわかっています。たとえば、次のコードは内容全体をファイルに書き込みます。
using (var outWriter = new StreamWriter(@"C:\temp\test.out"))
{
// my operation that's writing data to the stream
}