Mega Code Archive

 
Categories / C# / File Stream
 

Illustrates use of BufferedStreams

/* Mastering Visual C# .NET by Jason Price, Mike Gunderloy Publisher: Sybex; ISBN: 0782129110 */  /*   Example15_14.cs illustrates use of BufferedStreams */ using System; using System.Windows.Forms; using System.IO; public class Example15_14  {     [STAThread]   public static void Main()    {     // use an open file dialog to get a filename     OpenFileDialog dlgOpen = new OpenFileDialog();     dlgOpen.Title="Select file to back up";     if (dlgOpen.ShowDialog() == DialogResult.OK)     {       // create the raw streams       FileStream inStream = File.OpenRead(dlgOpen.FileName);       FileStream outStream =          File.OpenWrite(dlgOpen.FileName + ".bak");       // add a buffering layer       BufferedStream bufInStream = new BufferedStream(inStream);       BufferedStream bufOutStream = new BufferedStream(outStream);       byte[] buf = new byte[4096];       int bytesRead;       // copy all data from in to out via the buffer layer       while ((bytesRead = bufInStream.Read(buf, 0, 4096)) > 0)         bufOutStream.Write(buf, 0, bytesRead);       // clean up       bufOutStream.Flush();       bufOutStream.Close();       bufInStream.Close();       outStream.Close();       inStream.Close();     }   } }