此文记录的是文件工具类。
/*** 文件工具类 Austin Liu 刘恒辉 Project Manager and Software Designer E-Mail: lzhdim@163.com Blog: http://lzhdim.cnblogs.com Date: 2024-01-15 15:18:00 ***/ namespace Lzhdim.LPF.Utility { using System.Collections; using System.IO; /// <summary> /// The Object End of File /// </summary> public static class FileUtil { /// <summary> /// Append content to a file /// </summary> /// <param name="file">file path,include dir and file name</param> /// <param name="content">file content which to append</param> /// <returns>true append sucess;false append error</returns> public static bool Append2File(string file, string content) { if (!File.Exists(file)) { string dir = System.IO.Path.GetDirectoryName(file); if (!Directory.Exists(dir)) { Directory.CreateDirectory(dir); } try { FileStream fs = File.Create(file); fs.Close(); fs.Dispose(); } catch { return false; } } try { StreamWriter sw = new StreamWriter(file, true); sw.Write(content); sw.Close(); sw.Dispose(); return true; } catch { } return false; } /// <summary> /// copy a file /// </summary> /// <param name="filePathName">source file</param> /// <param name="toFilesPath">target file</param> public static void CopyFile(string filePathName, string toFilesPath) { FileInfo file = new FileInfo(filePathName); file.CopyTo(toFilesPath, true); } /// <summary> /// Create a file /// </summary> /// <param name="file">file path,include dir and file name</param> /// <returns>true Create Done;false Create error</returns> public static bool CreateFile(string file) { if (!File.Exists(file)) { string dir = System.IO.Path.GetDirectoryName(file); if (!Directory.Exists(dir)) { Directory.CreateDirectory(dir); } try { FileStream fs = File.Create(file); fs.Close(); fs.Dispose(); return true; } catch { } return false; } return true; } /// <summary> /// delete a file /// </summary> /// <param name="file">dir which need to search</param> /// <returns>true delete sucess;false delete error</returns> public static bool DeleteFile(string file) { try { File.Delete(file); return true; } catch { } return false; } /// <summary> /// Check if file is exist /// </summary> /// <param name="file">file path,include dir and file name</param> /// <returns>true Exist;false Not Exist</returns> public static bool FileIsExist(string file) { return File.Exists(file); } /// <summary> /// get all appoint files from a dir /// </summary> /// <param name="dir">dir which need to search</param> /// <param name="fileExtendedName">file extennsion.for example '.txt'</param> /// <param name="hasSubDir">has sub directory?</param> /// <returns>group of filenames</returns> public static Hashtable GetAllAppointFileFromDir(string dir, string fileExtension, bool hasSubDir) { Hashtable ht = new Hashtable(); DirectoryInfo di = new DirectoryInfo(dir); if (!di.Exists) { return ht; } FileInfo[] fileInfo = di.GetFiles("*" + fileExtension); //目录下的文件 foreach (FileInfo fInfo in fileInfo) { ht.Add(ht.Count, fInfo.FullName); } if (hasSubDir) { DirectoryInfo[] subDirectories = di.GetDirectories();//获得子目录 foreach (DirectoryInfo dirinfo1 in subDirectories) { FileInfo[] fileInfo1 = dirinfo1.GetFiles("*" + fileExtension); //子目录下的文件 foreach (FileInfo fInfo1 in fileInfo1) { ht.Add(ht.Count, fInfo1.FullName); } } } return ht; } /// <summary> /// Read a file 's content /// </summary> /// <param name="file">file path,include dir and file name</param> /// <returns>the content of the file</returns> public static string ReadFile(string file) { if (File.Exists(file)) { try { StreamReader sr = new System.IO.StreamReader(file); string rel = sr.ReadToEnd(); sr.Close(); sr.Dispose(); return rel; } catch { } } return null; } /// <summary> /// Save a file /// </summary> /// <param name="file">file path,include dir and file name</param> /// <param name="content">file content which to save</param> /// <returns>true save sucess;false save error</returns> public static bool SaveFile(string file, string content) { if (!File.Exists(file)) { string dir = System.IO.Path.GetDirectoryName(file); if (!Directory.Exists(dir)) { Directory.CreateDirectory(dir); } try { FileStream fs = File.Create(file); fs.Close(); fs.Dispose(); } catch { return false; } } try { StreamWriter sw = new StreamWriter(file, false); sw.Write(content); sw.Close(); sw.Dispose(); return true; } catch { } return false; } } }
Austin Liu 刘恒辉
Project Manager and Software Designer E-Mail:lzhdim@163.com Blog:https://lzhdim.cnblogs.com 欢迎收藏和转载此博客中的博文,但是请注明出处,给笔者一个与大家交流的空间。谢谢大家。 |