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
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
- Disponibile la beta 1 del .NET Framework 4.0 e di Visual Studio 2010
- Oracle supporterà Entity Framework entro il 2011
- Build 2016: segui con noi in live streaming!
- Windows Phone 7.5 Developer Day with Nokia and Microsoft - Roma, Milano
- Visual Studio 2010 e .NET Framework 4.0: beta 2 e data di release RTM
- Silverlight 5: ecco la Release Candidate