Mega Code Archive

 
Categories / C# / File Stream
 

Save a byte array content into a file

#region License and Copyright /* -------------------------------------------------------------------------  * Dotnet Commons IO  *  *  * This library is free software; you can redistribute it and/or modify it   * under the terms of the GNU Lesser General Public License as published by   * the Free Software Foundation; either version 2.1 of the License, or   * (at your option) any later version.  *  * This library is distributed in the hope that it will be useful, but   * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY   * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License   * for more details.   *  * You should have received a copy of the GNU Lesser General Public License   * along with this library; if not, write to the   *   * Free Software Foundation, Inc.,   * 59 Temple Place,   * Suite 330,   * Boston,   * MA 02111-1307   * USA   *   * -------------------------------------------------------------------------  */ #endregion using System; using System.Collections; using System.Globalization; using System.IO; namespace Dotnet.Commons.IO {      ///     /// <summary>     /// This class provides basic facilities for manipulating files and file paths.     ///      /// <h3>File-related methods</h3>     /// There are methods to      /// <list type="bullet">     ///     <item>copy a file to another file,</item>     ///     <item>compare the content of 2 files,</item>     ///     <item>delete files using the wildcard character,</item>     ///     <item>etc</item>     /// </list>   /// </summary>   ///        public sealed class FileUtils   {         /// ---------------------------------------------------------------         /// <summary>         /// Save a byte array content into a file.         /// </summary>         /// <param name="path">The full path of the file to save</param>         /// <param name="content">content to save in byte array</param>         /// ---------------------------------------------------------------         public static void Save(string path, byte[] content)         {             if (Path.GetDirectoryName(path).Length > 0 &&                  !Directory.Exists(Path.GetDirectoryName(path)))                 throw new DirectoryNotFoundException(String.Format("The directory path '{0}' to save the file does not exist.", Path.GetDirectoryName(path)));             using (FileStream writeStream = new FileStream(path, FileMode.Create, FileAccess.Write))             {                 writeStream.Write(content, 0, content.Length);                 writeStream.Close();             }         }         /// ---------------------------------------------------------------         /// <summary>         /// Save a char array content into a file.         /// </summary>         /// <param name="path">The full path of the file to save.</param>         /// <param name="content">content to save in char array.</param>         /// ---------------------------------------------------------------         public static void Save(string path, char[] content)         {             // convert char[] to byte[]             System.Text.UTF8Encoding encoding = new System.Text.UTF8Encoding();             byte[] byteArray = encoding.GetBytes(content);             Save(path, byteArray);         }         /// ---------------------------------------------------------------         /// <summary>         /// Save a string content into a file.         /// </summary>         /// <param name="path">The full path of the file to save</param>         /// <param name="content">content to save in string</param>         /// ---------------------------------------------------------------         public static void Save(string path, string content)         {             if (Path.GetDirectoryName(path).Length > 0 &&                 !Directory.Exists(Path.GetDirectoryName(path)))                 throw new DirectoryNotFoundException(String.Format("The directory path '{0}' to save the file does not exist.", Path.GetDirectoryName(path)));             using (StreamWriter stream = File.CreateText(path))             {                 stream.Write(content);                 stream.Close();             }         }     } }