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();
+		}
+	}
+}