C#将FileStream.WriteLine转换为内存流

C#将FileStream.WriteLine转换为内存流,c#,stream,biztalk,biztalk-pipelines,C#,Stream,Biztalk,Biztalk Pipelines,我在控制台程序中编写了一些代码,并用文件进行了测试。 现在,我想将其移植到实现特定接口的BizTalk管道组件。我不知道从文件到内存流的.Write和.WriteLine方法是如此不同。我想我可以交换我的对象了。没有.WriteLine方法,.Write方法需要偏移量和字节(附加参数) 那么现在,考虑到我有很多.WriteLine语句,改变测试代码以写入内存流的最佳方法是什么呢。我可以先写一个StringBuffer,但我认为这会破坏流式传输的概念(即一次将整个文档存储在内存中) //这就是我在

我在控制台程序中编写了一些代码,并用文件进行了测试。 现在,我想将其移植到实现特定接口的BizTalk管道组件。我不知道从文件到内存流的
.Write
.WriteLine
方法是如此不同。我想我可以交换我的对象了。没有
.WriteLine
方法,.Write方法需要偏移量和字节(附加参数)

那么现在,考虑到我有很多.WriteLine语句,改变测试代码以写入内存流的最佳方法是什么呢。我可以先写一个StringBuffer,但我认为这会破坏流式传输的概念(即一次将整个文档存储在内存中)

//这就是我在控制台程序中使用流的方式
//FileStream originalStream=File.Open(inFilename,FileMode.Open);
//StreamWriter streamToReturn=新StreamWriter(outFilename);
//这是如何在BizTalk管道组件中获取输入流
System.IO.Stream originalStream=pInMsg.BodyPart.GetOriginalDataStream();
MemoryStream streamToReturn=新的MemoryStream();
streamToReturn.WriteLine(“”);
这里没有显示更多的代码。以上只是为我所做的做准备

使用可用于调用WriteLine的

MemoryStream streamToReturn = new MemoryStream();
var writer = new StreamWriter(streamToReturn);
writer.WriteLine("<" + schemaStructure.rootElement + ">");
MemoryStream streamToReturn=新的MemoryStream();
var writer=新的StreamWriter(streamToReturn);
writer.WriteLine(“”);

谢谢,这看起来很明显,因为我以前使用过StreamWriter!我将变量称为流,而实际上它是StreamWriter。我还必须在StreamWriter上使用.Flush,而不是流。否则它将运行,但BizTalk发出的流结尾缺少一些字符。@NealWalters-正确,因为需要将
StreamWriter
刷新到它正在写入的底层
流。
MemoryStream streamToReturn = new MemoryStream();
var writer = new StreamWriter(streamToReturn);
writer.WriteLine("<" + schemaStructure.rootElement + ">");