SORU
23 EKİM 2008, PERŞEMBE


Nasıl bir akış içeriğini kopyalayacağım?

Başka bir akış içeriğini kopyalamak için en iyi yolu nedir? Bu standart yarar bir yöntem var mı?

CEVAP
23 EKİM 2008, PERŞEMBE


Dan .NET 4.5, Stream.CopyToAsync method

input.CopyToAsync(output);

Bu tamamlandığında devam edilebilir Task bir, gibi döndürür:

await input.CopyToAsync(output)

// Code from here on will be run in a continuation.

CopyToAsync çağrısı, aşağıdaki kodu yapılır yere bağlı olarak Mayıs ya da adı aynı konu üzerinde devam edebilir unutmayın.

await ararken yakalandı SynchronizationContext devamını idam konusunda ne olacağını belirleyecek.

Ayrıca, bu çağrı (ve bu uygulama değiştirilebilir) hala okur ve yazar (sadece konuları engelleme/Ç tamamlama harcamaz) dizileri.

Dan .NET 4.0, var Stream.CopyTo method

input.CopyTo(output);

İçin .NET ve önce 3.5

Hiçbir şey bu yardımcı çerçeve içine pişmiş olmaz; elle, şu şekilde: içeriğini kopyalamak için

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);
    }
}

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • ABC News (Australia)

    ABC News (Au

    9 HAZİRAN 2008
  • AceHoodVEVO

    AceHoodVEVO

    12 Mayıs 2009
  • Bad Lip Reading

    Bad Lip Read

    22 Mart 2011