İngilizce dilinde oku

Aracılığıyla paylaş


Stream.CopyToAsync Yöntem

Tanım

Geçerli akıştan baytları zaman uyumsuz olarak okur ve başka bir akışa yazar. Her iki akış konumu da kopyalanan bayt sayısına göre gelişmiştir.

Aşırı Yüklemeler

CopyToAsync(Stream, Int32, CancellationToken)

Geçerli akıştan baytları zaman uyumsuz olarak okur ve belirtilen arabellek boyutu ve iptal belirtecini kullanarak başka bir akışa yazar. Her iki akış konumu da kopyalanan bayt sayısına göre gelişmiştir.

CopyToAsync(Stream, CancellationToken)

Geçerli akıştan gelen baytları zaman uyumsuz olarak okur ve belirtilen iptal belirtecini kullanarak başka bir akışa yazar. Her iki akış konumu da kopyalanan bayt sayısına göre gelişmiştir.

CopyToAsync(Stream)

Geçerli akıştan gelen baytları zaman uyumsuz olarak okur ve başka bir akışa yazar. Her iki akış konumu da kopyalanan bayt sayısına göre gelişmiştir.

CopyToAsync(Stream, Int32)

Geçerli akıştan baytları zaman uyumsuz olarak okur ve belirtilen arabellek boyutunu kullanarak başka bir akışa yazar. Her iki akış konumu da kopyalanan bayt sayısına göre gelişmiştir.

CopyToAsync(Stream, Int32, CancellationToken)

Kaynak:
Stream.cs
Kaynak:
Stream.cs
Kaynak:
Stream.cs

Geçerli akıştan baytları zaman uyumsuz olarak okur ve belirtilen arabellek boyutu ve iptal belirtecini kullanarak başka bir akışa yazar. Her iki akış konumu da kopyalanan bayt sayısına göre gelişmiştir.

C#
public virtual System.Threading.Tasks.Task CopyToAsync (System.IO.Stream destination, int bufferSize, System.Threading.CancellationToken cancellationToken);
C#
[System.Runtime.InteropServices.ComVisible(false)]
public virtual System.Threading.Tasks.Task CopyToAsync (System.IO.Stream destination, int bufferSize, System.Threading.CancellationToken cancellationToken);

Parametreler

destination
Stream

Geçerli akışın içeriğinin kopyalandığı akış.

bufferSize
Int32

Arabelleğin bayt cinsinden boyutu. Bu değer sıfırdan büyük olmalıdır. Varsayılan boyut 81920'dir.

cancellationToken
CancellationToken

İptal isteklerini izlemek için belirteç. None varsayılan değerdir.

Döndürülenler

Zaman uyumsuz kopyalama işlemini temsil eden görev.

Öznitelikler

Özel durumlar

destination, null değeridir.

buffersize negatif veya sıfırdır.

Geçerli akış veya hedef akış atılır.

Geçerli akış okumayı desteklemiyor veya hedef akış yazmayı desteklemiyor.

İptal belirteci iptal edildi. Bu özel durum, döndürülen görevde depolanır.

Açıklamalar

yöntemi, CopyToAsync ana iş parçacığını engellemeden yoğun kaynak kullanımlı G/Ç işlemleri gerçekleştirmenizi sağlar. Bu performans değerlendirmesi özellikle zaman alan bir akış işleminin kullanıcı arabirimi iş parçacığını engellediği ve uygulamanızın çalışmıyor gibi görünmesini sağlayabildiği bir Windows 8.x Store uygulamasında veya masaüstü uygulamasında önemlidir. Zaman uyumsuz yöntemler, Visual Basic ve C# içindeki ve await anahtar sözcükleriyle async birlikte kullanılır.

İşlem tamamlanmadan önce iptal edilirse, döndürülen görev özelliğin CanceledStatus değerini içerir.

Kopyalama, geçerli akıştaki geçerli konumda başlar.

İki akış arasında kopyalama örneği için bkz CopyToAsync(Stream) . aşırı yükleme.

Bu yöntem, görevin içinde depolar ve yöntemin zaman uyumlu karşılık geleninin atabileceği tüm kullanım dışı özel durumları döndürür. Döndürülen görevde bir özel durum depolanırsa, görev beklenirken bu özel durum oluşturulur. gibi ArgumentExceptionkullanım özel durumları yine zaman uyumlu olarak oluşturulur. Depolanan özel durumlar için tarafından oluşan CopyTo(Stream, Int32)özel durumlara bakın.

Şunlara uygulanır

.NET 9 ve diğer sürümler
Ürün Sürümler
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

CopyToAsync(Stream, CancellationToken)

Kaynak:
Stream.cs
Kaynak:
Stream.cs
Kaynak:
Stream.cs

Geçerli akıştan gelen baytları zaman uyumsuz olarak okur ve belirtilen iptal belirtecini kullanarak başka bir akışa yazar. Her iki akış konumu da kopyalanan bayt sayısına göre gelişmiştir.

C#
public System.Threading.Tasks.Task CopyToAsync (System.IO.Stream destination, System.Threading.CancellationToken cancellationToken);

Parametreler

destination
Stream

Geçerli akışın içeriğinin kopyalandığı akış.

cancellationToken
CancellationToken

İptal isteklerini izlemek için belirteç. None varsayılan değerdir.

Döndürülenler

Zaman uyumsuz kopyalama işlemini temsil eden görev.

Özel durumlar

İptal belirteci iptal edildi. Bu özel durum, döndürülen görevde depolanır.

Açıklamalar

yöntemi, CopyToAsync ana iş parçacığını engellemeden yoğun kaynak kullanımlı G/Ç işlemleri gerçekleştirmenizi sağlar. Bu performans değerlendirmesi özellikle zaman alan bir akış işleminin kullanıcı arabirimi iş parçacığını engellediği ve uygulamanızın çalışmıyor gibi görünmesini sağlayabildiği bir Windows 8.x Store uygulamasında veya masaüstü uygulamasında önemlidir. Zaman uyumsuz yöntemler, Visual Basic ve C# içindeki ve await anahtar sözcükleriyle async birlikte kullanılır.

İşlem tamamlanmadan önce iptal edilirse, döndürülen görev özelliğin CanceledStatus değerini içerir.

Kopyalama, geçerli akıştaki geçerli konumda başlar.

İki akış arasında kopyalama örneği için bkz CopyToAsync(Stream) . aşırı yükleme.

Bu yöntem, görevin içinde depolar ve yöntemin zaman uyumlu karşılık geleninin atabileceği tüm kullanım dışı özel durumları döndürür. Döndürülen görevde bir özel durum depolanırsa, görev beklenirken bu özel durum oluşturulur. gibi ArgumentExceptionkullanım özel durumları yine zaman uyumlu olarak oluşturulur. Depolanan özel durumlar için tarafından oluşan CopyTo(Stream)özel durumlara bakın.

Şunlara uygulanır

.NET 9 ve diğer sürümler
Ürün Sürümler
.NET Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Standard 2.1

CopyToAsync(Stream)

Kaynak:
Stream.cs
Kaynak:
Stream.cs
Kaynak:
Stream.cs

Geçerli akıştan gelen baytları zaman uyumsuz olarak okur ve başka bir akışa yazar. Her iki akış konumu da kopyalanan bayt sayısına göre gelişmiştir.

C#
public System.Threading.Tasks.Task CopyToAsync (System.IO.Stream destination);
C#
[System.Runtime.InteropServices.ComVisible(false)]
public System.Threading.Tasks.Task CopyToAsync (System.IO.Stream destination);

Parametreler

destination
Stream

Geçerli akışın içeriğinin kopyalandığı akış.

Döndürülenler

Zaman uyumsuz kopyalama işlemini temsil eden görev.

Öznitelikler

Özel durumlar

destination, null değeridir.

Geçerli akış veya hedef akış atılır.

Geçerli akış okumayı desteklemiyor veya hedef akış yazmayı desteklemiyor.

Örnekler

Aşağıdaki örnekte, dosyaları bir dizinden diğerine zaman uyumsuz olarak kopyalamak için iki FileStream nesnenin nasıl kullanılacağı gösterilmektedir. sınıfı FileStream sınıfından Stream türetilir. Denetimin Click olay işleyicisinin Button zaman uyumsuz bir yöntem çağırdığı için değiştiriciyle async işaretlendiğini fark edin

C#
using System;
using System.Threading.Tasks;
using System.Windows;
using System.IO;

namespace WpfApplication
{
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }

        private async void Button_Click(object sender, RoutedEventArgs e)
        {
            string StartDirectory = @"c:\Users\exampleuser\start";
            string EndDirectory = @"c:\Users\exampleuser\end";

            foreach (string filename in Directory.EnumerateFiles(StartDirectory))
            {
                using (FileStream SourceStream = File.Open(filename, FileMode.Open))
                {
                    using (FileStream DestinationStream = File.Create(EndDirectory + filename.Substring(filename.LastIndexOf('\\'))))
                    {
                        await SourceStream.CopyToAsync(DestinationStream);
                    }
                }
            }
        }
    }
}

Açıklamalar

yöntemi, CopyToAsync ana iş parçacığını engellemeden yoğun kaynak kullanımlı G/Ç işlemleri gerçekleştirmenizi sağlar. Bu performans değerlendirmesi özellikle zaman alan bir akış işleminin kullanıcı arabirimi iş parçacığını engellediği ve uygulamanızın çalışmıyor gibi görünmesini sağlayabildiği bir Windows 8.x Store uygulamasında veya masaüstü uygulamasında önemlidir. Zaman uyumsuz yöntemler, Visual Basic ve C# içindeki ve await anahtar sözcükleriyle async birlikte kullanılır.

Kopyalama, geçerli akıştaki geçerli konumda başlar.

Bu yöntem, görevin içinde depolar ve yöntemin zaman uyumlu karşılık geleninin atabileceği tüm kullanım dışı özel durumları döndürür. Döndürülen görevde bir özel durum depolanırsa, görev beklenirken bu özel durum oluşturulur. gibi ArgumentExceptionkullanım özel durumları yine zaman uyumlu olarak oluşturulur. Depolanan özel durumlar için tarafından oluşan CopyTo(Stream)özel durumlara bakın.

Şunlara uygulanır

.NET 9 ve diğer sürümler
Ürün Sürümler
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

CopyToAsync(Stream, Int32)

Kaynak:
Stream.cs
Kaynak:
Stream.cs
Kaynak:
Stream.cs

Geçerli akıştan baytları zaman uyumsuz olarak okur ve belirtilen arabellek boyutunu kullanarak başka bir akışa yazar. Her iki akış konumu da kopyalanan bayt sayısına göre gelişmiştir.

C#
public System.Threading.Tasks.Task CopyToAsync (System.IO.Stream destination, int bufferSize);
C#
[System.Runtime.InteropServices.ComVisible(false)]
public System.Threading.Tasks.Task CopyToAsync (System.IO.Stream destination, int bufferSize);

Parametreler

destination
Stream

Geçerli akışın içeriğinin kopyalandığı akış.

bufferSize
Int32

Arabelleğin bayt cinsinden boyutu. Bu değer sıfırdan büyük olmalıdır. Varsayılan boyut 81920'dir.

Döndürülenler

Zaman uyumsuz kopyalama işlemini temsil eden görev.

Öznitelikler

Özel durumlar

destination, null değeridir.

buffersize negatif veya sıfırdır.

Geçerli akış veya hedef akış atılır.

Geçerli akış okumayı desteklemiyor veya hedef akış yazmayı desteklemiyor.

Açıklamalar

yöntemi, CopyToAsync ana iş parçacığını engellemeden yoğun kaynak kullanımlı G/Ç işlemleri gerçekleştirmenizi sağlar. Bu performans değerlendirmesi özellikle zaman alan bir akış işleminin kullanıcı arabirimi iş parçacığını engellediği ve uygulamanızın çalışmıyor gibi görünmesini sağlayabildiği bir Windows 8.x Store uygulamasında veya masaüstü uygulamasında önemlidir. Zaman uyumsuz yöntemler, Visual Basic ve C# içindeki ve await anahtar sözcükleriyle async birlikte kullanılır.

Kopyalama, geçerli akıştaki geçerli konumda başlar.

İki akış arasında kopyalama örneği için bkz CopyToAsync(Stream) . aşırı yükleme.

Bu yöntem, görevin içinde depolar ve yöntemin zaman uyumlu karşılık geleninin atabileceği tüm kullanım dışı özel durumları döndürür. Döndürülen görevde bir özel durum depolanırsa, görev beklenirken bu özel durum oluşturulur. gibi ArgumentExceptionkullanım özel durumları yine zaman uyumlu olarak oluşturulur. Depolanan özel durumlar için tarafından oluşan CopyTo(Stream, Int32)özel durumlara bakın.

Şunlara uygulanır

.NET 9 ve diğer sürümler
Ürün Sürümler
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0