vto*_*ola 3 .net c# io file stream
我有这种情况:
DownloadLibrary.GetData(Stream targetStream);
SaveLibrary.WriteData(Stream sourceStream);
Run Code Online (Sandbox Code Playgroud)
我想将targetStream收集的数据发送到sourceStream.我想出了一些解决方案,但我找不到直接连接这些流的方法.
我想要实现的是将数据从targetStream发送到sourceStream而不首先缓冲targetStream.
怎么做到呢?
提前致谢.
内置支持(来自.Net 4.0),Stream用于通过以下方式将一个流复制到另一个流CopyTo:
stream1.CopyTo(stream2)
Run Code Online (Sandbox Code Playgroud)
例:
[Test]
public void test()
{
string inString = "bling";
byte[] inBuffer = Encoding.ASCII.GetBytes(inString);
Stream stream1 = new MemoryStream(inBuffer);
Stream stream2 = new MemoryStream();
//Copy stream 1 to stream 2
stream1.CopyTo(stream2);
byte[] outBuffer = new byte[inBuffer.Length];
stream2.Position = 0;
stream2.Read(outBuffer, 0, outBuffer.Length);
string outString = Encoding.ASCII.GetString(outBuffer);
Assert.AreEqual(inString, outString, "inString equals outString.");
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
126 次 |
| 最近记录: |