Mega Code Archive

 
Categories / C# / File Stream
 

Create Temp File

// crudwork // Copyright 2004 by Steve T. Pham (http://www.crudwork.com) // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // This program 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 General Public License for more details. // // You should have received a copy of the GNU General Public License // along with This program.  If not, see <http://www.gnu.org/licenses/>. using System; using System.Collections.Generic; using System.IO; using System.Text; using System.CodeDom.Compiler; using System.Text.RegularExpressions; namespace crudwork.Utilities {   /// <summary>   /// File Utility   /// </summary>   public static class FileUtil   {         static int unique = 0;     #region CreateTempFile     /// <summary>     /// Generate a unique temp filename with the extension specified.     /// </summary>     /// <param name="extension"></param>     /// <returns></returns>     public static string GenerateUniqueTempFilename(string extension)     {       string fstem = Path.GetRandomFileName();       return String.Format("{0}@AutoGen_{1}_{2}.{3}", Path.GetTempPath(), fstem, ++unique, extension);     }     /// <summary>     /// Write a string List array to a unique temporarily filename with the specify extension.     /// </summary>     /// <param name="extension"></param>     /// <param name="list"></param>     /// <returns></returns>     public static string CreateTempFile(string extension, params string[] list)     {       try       {             TempFileCollection tempFiles = new TempFileCollection();         string filename = GenerateUniqueTempFilename(extension);         tempFiles.AddFile(filename, false);         WriteFile(filename, list);         return filename;       }       catch (Exception ex)       {         throw;       }     }     #endregion     /// <summary>     /// Write a byte array to filename     /// </summary>     /// <param name="filename"></param>     /// <param name="content"></param>     public static void WriteFile(string filename, byte[] content)     {       int bufSize = 1024;       try       {         using (FileStream fs = new FileStream(filename, FileMode.Create, FileAccess.Write, FileShare.Read, bufSize))         using (BinaryWriter w = new BinaryWriter(fs))         {           for (int i = 0; i < content.Length; i++)           {             w.Write(content[i]);           }           w.Flush();           w.Close();         }       }       catch (Exception ex)       {         throw;       }     }     /// <summary>     /// Write a string array to a file.     /// </summary>     /// <param name="filename"></param>     /// <param name="content"></param>     public static void WriteFile(string filename, string[] content)     {       try       {         using (StreamWriter w = new StreamWriter(filename, false))         {           for (int i = 0; i < content.Length; i++)           {             w.WriteLine(content[i]);           }           w.Flush();           w.Close();         }       }       catch (Exception ex)       {                  throw;       }     }     /// <summary>     /// Write a string to a file.     /// </summary>     /// <param name="filename"></param>     /// <param name="content"></param>     public static void WriteFile(string filename, string content)     {       WriteFile(filename, new string[] { content });     }        } }