首頁 > 後端開發 > C++ > 在.NET中復制流內容的最佳方法是什麼?

在.NET中復制流內容的最佳方法是什麼?

Barbara Streisand
發布: 2025-01-31 09:11:08
原創
1108 人瀏覽過

What are the Best Methods for Copying Stream Contents in .NET?

.NET流內容複製方法詳解

在編程中,複製一個流的內容到另一個流是一個常見任務。雖然有多種方法可以實現這一點,但.NET框架提供了一些內置方法來簡化這個過程。

.NET 4.5及以上版本方法:Stream.CopyToAsync

.NET 4.5中引入的Stream.CopyToAsync提供了一種異步複製流內容的方法。此方法返回一個Task,可以在復制操作完成後繼續執行。

1

2

input.CopyToAsync(output);

await input.CopyToAsync(output);

登入後複製

.NET 4.0及以上版本方法:Stream.CopyTo

對於.NET 4.0及以上版本,Stream.CopyTo方法提供了一種同步方法。它直接將輸入流的內容複製到輸出流,而無需返回Task。

1

input.CopyTo(output);

登入後複製

.NET 3.5及更早版本方法

如果您使用的是.NET 3.5或更早版本,框架沒有提供任何內置的流複製方法。在這種情況下,您可以創建自己的解決方案,如下面的代碼所示:

1

2

3

4

5

6

7

8

9

public static void CopyStream(Stream input, Stream output)

{

    byte[] buffer = new byte[32768];

    int read;

    while ((read = input.Read(buffer, 0, buffer.Length)) > 0)

    {

        output.Write(buffer, 0, read);

    }

}

登入後複製

此方法允許進度報告,並且適用於無法獲得流Length屬性的場景。

以上是在.NET中復制流內容的最佳方法是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板