// Copyright (c) Microsoft Corporation. All rights reserved.
// This file is best viewed using outline mode (Ctrl-M Ctrl-O)
//
// This program uses code hyperlinks available as part of the HyperAddin Visual Studio plug-in.
// It is available from http://www.codeplex.com/hyperAddin
//
using System;
using System.IO;
namespace Utilities
{
static class StreamUtilities {
public static void CopyFromFile(string fromFilePath, Stream toStream)
{
using (Stream fromStream = File.OpenRead(fromFilePath))
CopyStream(fromStream, toStream);
}
public static void CopyToFile(Stream fromStream, string toFilePath)
{
using (Stream toStream = File.Create(toFilePath))
CopyStream(fromStream, toStream);
}
/// <summary>
/// CopyStream simply copies 'fromStream' to 'toStream'
/// </summary>
public static int CopyStream(Stream fromStream, Stream toStream)
{
byte[] buffer = new byte[8192];
int totalBytes = 0;
for (; ; )
{
int count = fromStream.Read(buffer, 0, buffer.Length);
if (count == 0)
break;
toStream.Write(buffer, 0, count);
totalBytes += count;
}
return totalBytes;
}
};
}
|