Jeder, der schon einmal mit Streams gearbeitet hat, kennt diese langweiligen Routinen, welche blockweise Daten von einem Stream in einen anderen übertragen. Für solche Fälle besitzt die Klasse
Stream nun eine Convenience-Methode. Diese nennt sich
CopyTo und nimmt den Stream, an welchen die Daten gesendet werden sollen, entgegen. Eine Überladung dieser Methode nimmt zusätzlich die gewünschte Blockgröße in Byte entgegen. Der Standardwert wurde hierfür auf 4096 festgelegt. Das folgende Listing zeigt ein Beispiel für den Einsatz dieser Methode. Dieses kopiert die aus dem Streams
input gelesenen Daten in den Stream
output .
FileStream input;
FileStream output;
using (input = new FileStream(@"c:\temp\a.txt", FileMode.Open))
{
using (output = new FileStream(@"c:\temp\b.txt", FileMode.CreateNew))
{
input.CopyTo(output);
}
}