Copiare uno Stream con il .NET Framework 4.0

di Cristian Civera, in .NET Framework, System.IO,

Nello script #93 si è visto come creare un extension method che permetta di travasare il contenuto di uno Stream sorgente verso uno Stream destinatario. Si tratta di un'operazione molto frequente, specialmente quando da uno Stream in memoria occorre scrivere su file o scrivere sull'OutputStream di ASP.NET.

Dato l'uso frequente, nel .NET Framework 4.0 questo metodo è stato aggiunto, per altro con la medesima implementazione, nella classe base System.IO.Stream. Con il metodo CopyTo è possibile indicare lo Stream destinatario e facoltativamente la dimensione del buffer da riempire (di default è 4K).
Ecco quindi un esempio di utilizzo:

using (Stream source = File.Open("miofile.txt"))
{
  using (MemoryStream target = new MemoryStream())
  {
    source.CopyTo(target);
  }
}

E' utile sottolineare che lo Stream viene copiato dalla posizione in cui si trova la sorgente nel momento in cui si chiama il metodo CopyTo e allo stesso modo viene scritto dalla posizione in cui si trova il destinatario.

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

I più letti di oggi