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 + ">");
我在控制台程序中编写了一些代码并使用文件进行了测试。
现在我想将它移植到实现特定接口的 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 + ">");