Outputs data from a read stream to a newly created file : Stream « File Stream « C# / C Sharp






Outputs data from a read stream to a newly created file

    
/*

  File:      Utilities.cs
  Summary:   SQL Remote Blob Storage sample provider. Support file for 
             a provider that uses NTFS files as the blob store.
             Class containing various utility functions.
  Date:       June 24th, 2008

---------------------------------------------------------------------

  This file is part of the Microsoft SQL Server Code Samples.
  Copyright (C) Microsoft Corporation.  All rights reserved.

This source code is intended only as a supplement to Microsoft
Development Tools and/or on-line documentation.  See these other
materials for detailed information regarding Microsoft code samples.

THIS CODE AND INFORMATION ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
PARTICULAR PURPOSE.

 */

using System;
using System.IO;

namespace Microsoft.Data.BlobStores.FileBlobStore
{
    /// <summary>
    /// Utility functions
    /// </summary>
    internal
    sealed
    class Utilities
    {
        private Utilities() { }

        /// <summary>
        /// Outputs data from a read stream to a newly created file
        /// </summary>
        internal
        static
        void WriteStreamToFile(Stream readStream, string path)
        {
            using (FileStream writeStream = new FileStream(path, FileMode.Create, FileAccess.Write))
            {
                Utilities.ReadWriteStream(readStream, writeStream);
            }
        }

        /// <summary>
        /// Outputs data from a read stream to a write stream
        /// </summary>
        internal
        static
        void ReadWriteStream(Stream readStream, Stream writeStream)
        {
            if (readStream == null) throw new ArgumentNullException("readStream");
            if (writeStream == null) throw new ArgumentNullException("writeStream");

            int bufferLength = 256;
            Byte[] buffer = new Byte[bufferLength];
            int bytesRead = readStream.Read(buffer, 0, bufferLength);

            // Write out the input stream
            while (bytesRead > 0)
            {
                writeStream.Write(buffer, 0, bytesRead);
                bytesRead = readStream.Read(buffer, 0, bufferLength);
            }
        }
    }
}

   
    
    
    
  








Related examples in the same category

1.Stream.CanRead indicates whether the current stream supports reading.
2.Stream.CanWrite Property indicates whether the current stream supports writing.
3.Stream.CopyTo reads all the bytes from the current stream and writes them to the destination stream.
4.Stream.Read reads a sequence of bytes and advances the position
5.Create StreamWriter class for the specified stream, using the specified encoding and the default buffer size.
6.Create StreamWriter from FileStream
7.Create StreamWriter with encoding
8.Create StreamWriter from file name
9.UTF8 encoding StreamWriter
10.Create UTF8 encoding StreamWriter from File name
11.Set StreamWriter buffer size
12.Writes a subarray of characters to the stream.
13.Create a new instance of the StreamReader class for the specified stream.
14.Gets the current character encoding that the current StreamReader object is using.
15.Returns the next available character but does not consume it.
16.Reads a maximum of count characters from the current stream into buffer, beginning at index.
17.Reads the next character from the input stream and advances the character position by one character.
18.Read a single character
19.Reads a line of characters from the current stream and returns the data as a string.
20.Reads the stream from the current position to the end of the stream.
21.Copy Stream
22.Copy one Stream to another Stream
23.Authentication Stream