Mercurial > repos > IBBoard
changeset 100:fa8378a30ed2
* Add some Stream handling utilities
no-open-ticket
author | IBBoard <dev@ibboard.co.uk> |
---|---|
date | Sun, 06 Mar 2011 14:51:05 +0000 |
parents | 2597803a79c4 |
children | 566a7af8f149 |
files | IBBoard.csproj IO/StreamUtil.cs |
diffstat | 2 files changed, 31 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/IBBoard.csproj Sat Feb 19 20:49:04 2011 +0000 +++ b/IBBoard.csproj Sun Mar 06 14:51:05 2011 +0000 @@ -1,5 +1,5 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5"> +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <PropertyGroup> <ProjectType>Local</ProjectType> <ProductVersion>9.0.30729</ProductVersion> @@ -157,6 +157,7 @@ <Compile Include="Limits\CompositeMinimumLimit.cs" /> <Compile Include="Lang\ModifiableTranslationSet.cs" /> <Compile Include="EqualityChecker.cs" /> + <Compile Include="IO\StreamUtil.cs" /> </ItemGroup> <ItemGroup> <BootstrapperPackage Include="Microsoft.Net.Client.3.5">
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/IO/StreamUtil.cs Sun Mar 06 14:51:05 2011 +0000 @@ -0,0 +1,28 @@ +// This file (StreamUtil.cs) is a part of the IBBoard project and is copyright 2011 IBBoard +// +// The file and the library/program it is in are licensed and distributed, without warranty, under the GNU LGPL, either version 3 of the License or (at your option) any later version. Please see COPYING for more information and the full license. +using System; +using System.IO; + +namespace IBBoard.IO +{ + public class StreamUtil + { + public static void CopyStream(Stream fromStream, Stream toStream) + { + byte[] bytes = new byte[8096]; + int read; + while ((read = fromStream.Read(bytes, 0, bytes.Length)) > 0) + { + toStream.Write(bytes, 0, read); + } + } + + public static byte[] ToBytes(Stream fromStream) + { + MemoryStream toStream = new MemoryStream(); + CopyStream(fromStream, toStream); + return toStream.ToArray(); + } + } +}