C# 转换 FileStream.WriteLine 去一个 MemoryStream

C# Convert FileStream.WriteLine to go to a MemoryStream

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

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

// This is how I used the streams in the Console program 
//FileStream originalStream = File.Open(inFilename, FileMode.Open);
//StreamWriter streamToReturn = new StreamWriter(outFilename);

// This is how to get the input stream in the BizTalk Pipeline Componenet 
System.IO.Stream originalStream = pInMsg.BodyPart.GetOriginalDataStream();

MemoryStream streamToReturn = new MemoryStream();
streamToReturn.WriteLine("<" + schemaStructure.rootElement + ">");

此处未显示更多代码。以上只是为我所做的做准备。

使用可用于调用 WriteLine 的 StreamWriter

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