Stream.CopyToAsync Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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.
Aşırı Yüklemeler
| Name | Description |
|---|---|
| CopyToAsync(Stream, Int32, CancellationToken) |
Belirtilen arabellek boyutu ve iptal belirtecini kullanarak 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. |
| 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 gelen 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
- Kaynak:
- Stream.cs
- Kaynak:
- Stream.cs
Belirtilen arabellek boyutu ve iptal belirtecini kullanarak 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.
public:
virtual System::Threading::Tasks::Task ^ CopyToAsync(System::IO::Stream ^ destination, int bufferSize, System::Threading::CancellationToken cancellationToken);
public virtual System.Threading.Tasks.Task CopyToAsync(System.IO.Stream destination, int bufferSize, System.Threading.CancellationToken cancellationToken);
[System.Runtime.InteropServices.ComVisible(false)]
public virtual System.Threading.Tasks.Task CopyToAsync(System.IO.Stream destination, int bufferSize, System.Threading.CancellationToken cancellationToken);
abstract member CopyToAsync : System.IO.Stream * int * System.Threading.CancellationToken -> System.Threading.Tasks.Task
override this.CopyToAsync : System.IO.Stream * int * System.Threading.CancellationToken -> System.Threading.Tasks.Task
[<System.Runtime.InteropServices.ComVisible(false)>]
abstract member CopyToAsync : System.IO.Stream * int * System.Threading.CancellationToken -> System.Threading.Tasks.Task
override this.CopyToAsync : System.IO.Stream * int * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Overridable Function CopyToAsync (destination As Stream, bufferSize As Integer, cancellationToken As CancellationToken) As Task
Parametreler
- destination
- Stream
Geçerli akışın içeriğinin kopyalanacağı 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ç. Varsayılan değer None değeridir.
Döndürülenler
Zaman uyumsuz kopyalama işlemini temsil eden görev.
- Öznitelikler
Özel durumlar
destination, null'e eşittir.
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. Zaman alan bir akış işleminin ui iş parçacığını engelleyebildiğ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 bu performansla ilgili dikkat edilmesi gerekenler özellikle ö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, yöntemin zaman uyumlu karşılık geleninin oluşturabileceği tüm kullanım dışı özel durumları döndürdüğü görevde depolar. Döndürülen görevde bir özel durum depolanırsa, görev beklendiğinde bu özel durum oluşturulur. ArgumentExceptiongibi kullanım özel durumları hâlâ eşzamanlı olarak fırlatılır. Depolanan özel durumlar için tarafından CopyTo(Stream, Int32)oluşan özel durumlara bakın.
Şunlara uygulanır
CopyToAsync(Stream, CancellationToken)
- Kaynak:
- Stream.cs
- Kaynak:
- Stream.cs
- 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.
public:
System::Threading::Tasks::Task ^ CopyToAsync(System::IO::Stream ^ destination, System::Threading::CancellationToken cancellationToken);
public System.Threading.Tasks.Task CopyToAsync(System.IO.Stream destination, System.Threading.CancellationToken cancellationToken);
member this.CopyToAsync : System.IO.Stream * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Function CopyToAsync (destination As Stream, cancellationToken As CancellationToken) As Task
Parametreler
- destination
- Stream
Geçerli akışın içeriğinin kopyalanacağı akış.
- cancellationToken
- CancellationToken
İptal isteklerini izlemek için belirteç. Varsayılan değer None değeridir.
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. Zaman alan bir akış işleminin ui iş parçacığını engelleyebildiğ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 bu performansla ilgili dikkat edilmesi gerekenler özellikle ö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, yöntemin zaman uyumlu karşılık geleninin oluşturabileceği tüm kullanım dışı özel durumları döndürdüğü görevde depolar. Döndürülen görevde bir özel durum depolanırsa, görev beklendiğinde bu özel durum oluşturulur. ArgumentExceptiongibi kullanım özel durumları hâlâ eşzamanlı olarak fırlatılır. Depolanan özel durumlar için tarafından CopyTo(Stream)oluşan özel durumlara bakın.
Şunlara uygulanır
CopyToAsync(Stream)
- Kaynak:
- Stream.cs
- Kaynak:
- Stream.cs
- 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.
public:
System::Threading::Tasks::Task ^ CopyToAsync(System::IO::Stream ^ destination);
public System.Threading.Tasks.Task CopyToAsync(System.IO.Stream destination);
[System.Runtime.InteropServices.ComVisible(false)]
public System.Threading.Tasks.Task CopyToAsync(System.IO.Stream destination);
member this.CopyToAsync : System.IO.Stream -> System.Threading.Tasks.Task
[<System.Runtime.InteropServices.ComVisible(false)>]
member this.CopyToAsync : System.IO.Stream -> System.Threading.Tasks.Task
Public Function CopyToAsync (destination As Stream) As Task
Parametreler
- destination
- Stream
Geçerli akışın içeriğinin kopyalanacağı akış.
Döndürülenler
Zaman uyumsuz kopyalama işlemini temsil eden görev.
- Öznitelikler
Özel durumlar
destination, null'e eşittir.
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.
FileStream sınıfı sınıfından Stream türetilir. Denetimin Click olay işleyicisinin Button zaman uyumsuz bir yöntem çağırdığı için değiştirici ile async işaretlendiğini görebilirsiniz
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);
}
}
}
}
}
}
Imports System.IO
Class MainWindow
Private Async Sub Button_Click(sender As Object, e As RoutedEventArgs)
Dim StartDirectory As String = "c:\Users\exampleuser\start"
Dim EndDirectory As String = "c:\Users\exampleuser\end"
For Each filename As String In Directory.EnumerateFiles(StartDirectory)
Using SourceStream As FileStream = File.Open(filename, FileMode.Open)
Using DestinationStream As FileStream = File.Create(EndDirectory + filename.Substring(filename.LastIndexOf("\"c)))
Await SourceStream.CopyToAsync(DestinationStream)
End Using
End Using
Next
End Sub
End Class
Açıklamalar
yöntemi, CopyToAsync ana iş parçacığını engellemeden yoğun kaynak kullanımlı G/Ç işlemleri gerçekleştirmenizi sağlar. Zaman alan bir akış işleminin ui iş parçacığını engelleyebildiğ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 bu performansla ilgili dikkat edilmesi gerekenler özellikle ö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, yöntemin zaman uyumlu karşılık geleninin oluşturabileceği tüm kullanım dışı özel durumları döndürdüğü görevde depolar. Döndürülen görevde bir özel durum depolanırsa, görev beklendiğinde bu özel durum oluşturulur. ArgumentExceptiongibi kullanım özel durumları hâlâ eşzamanlı olarak fırlatılır. Depolanan özel durumlar için tarafından CopyTo(Stream)oluşan özel durumlara bakın.
Şunlara uygulanır
CopyToAsync(Stream, Int32)
- Kaynak:
- Stream.cs
- Kaynak:
- Stream.cs
- Kaynak:
- Stream.cs
- Kaynak:
- Stream.cs
- Kaynak:
- Stream.cs
Geçerli akıştan gelen 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.
public:
System::Threading::Tasks::Task ^ CopyToAsync(System::IO::Stream ^ destination, int bufferSize);
public System.Threading.Tasks.Task CopyToAsync(System.IO.Stream destination, int bufferSize);
[System.Runtime.InteropServices.ComVisible(false)]
public System.Threading.Tasks.Task CopyToAsync(System.IO.Stream destination, int bufferSize);
member this.CopyToAsync : System.IO.Stream * int -> System.Threading.Tasks.Task
[<System.Runtime.InteropServices.ComVisible(false)>]
member this.CopyToAsync : System.IO.Stream * int -> System.Threading.Tasks.Task
Public Function CopyToAsync (destination As Stream, bufferSize As Integer) As Task
Parametreler
- destination
- Stream
Geçerli akışın içeriğinin kopyalanacağı 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'e eşittir.
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. Zaman alan bir akış işleminin ui iş parçacığını engelleyebildiğ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 bu performansla ilgili dikkat edilmesi gerekenler özellikle ö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, yöntemin zaman uyumlu karşılık geleninin oluşturabileceği tüm kullanım dışı özel durumları döndürdüğü görevde depolar. Döndürülen görevde bir özel durum depolanırsa, görev beklendiğinde bu özel durum oluşturulur. ArgumentExceptiongibi kullanım özel durumları hâlâ eşzamanlı olarak fırlatılır. Depolanan özel durumlar için tarafından CopyTo(Stream, Int32)oluşan özel durumlara bakın.