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
- Creare agenti facilmente con Azure AI Agent Service
- Loggare le query più lente con Entity Framework
- Rendere i propri workflow e le GitHub Action utilizzate più sicure
- Disabilitare le run concorrenti di una pipeline di Azure DevOps
- Fornire parametri ad un Web component HTML
- Usare i settings di serializzazione/deserializzazione di System.Text.Json di ASP.NET all'interno di un'applicazione non web
- Gestione degli eventi nei Web component HTML
- Documentare i servizi REST con Swagger e OpenAPI con .NET 9