首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在.net中将一个流的内容写入另一个流?

在 .NET 中,可以使用以下方法将一个流的内容写入另一个流:

代码语言:csharp
复制
using System;
using System.IO;

public static void CopyStream(Stream inputStream, Stream outputStream)
{
    byte[] buffer = new byte[4096];
    int bytesRead;

    while ((bytesRead = inputStream.Read(buffer, 0, buffer.Length)) > 0)
    {
        outputStream.Write(buffer, 0, bytesRead);
    }
}

这个方法使用一个 4096 字节大小的缓冲区,将输入流中的数据逐块读取并写入输出流。当输入流中没有更多数据可读时,循环结束。

要使用此方法,只需将输入流和输出流作为参数传递给它。例如:

代码语言:csharp
复制
using System;
using System.IO;

public static void Main()
{
    // 创建两个内存流
    MemoryStream inputStream = new MemoryStream();
    MemoryStream outputStream = new MemoryStream();

    // 向输入流中写入一些数据
    StreamWriter writer = new StreamWriter(inputStream);
    writer.Write("Hello, world!");
    writer.Flush();

    // 将输入流中的数据写入输出流
    CopyStream(inputStream, outputStream);

    // 将输出流中的数据读回到一个字符串
    outputStream.Seek(0, SeekOrigin.Begin);
    StreamReader reader = new StreamReader(outputStream);
    string output = reader.ReadToEnd();

    Console.WriteLine(output);
}

这个示例创建了两个内存流,向其中一个写入了一些数据,然后使用 CopyStream 方法将数据写入另一个流。最后,将输出流中的数据读回到一个字符串并输出到控制台。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券