/* * ============================================================================== * * Filename: FileOperate * Description: * * Version: 1.0 * Created: 2021/2/26 16:59:16 * * Author: liu.wenjie * * ============================================================================== */ using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; namespace CommonMethods { public class FileTimeInfo { public string FileName; //文件名 public DateTime FileCreateTime; //创建时间 } public class FileOperate { public static void DelFile(string filePath) { if (File.Exists(filePath)) { File.Delete(filePath); } } /// /// 文件夹及其子目录的删除 /// /// public static void DeleteFolder(string directoryPath) { try { foreach (string d in Directory.GetFileSystemEntries(directoryPath)) { if (File.Exists(d)) { FileInfo fi = new FileInfo(d); if (fi.Attributes.ToString().IndexOf("ReadOnly") != -1) fi.Attributes = FileAttributes.Normal; File.Delete(d); } else DeleteFolder(d); // 递归删除 } Directory.Delete(directoryPath); } catch (Exception) { } } public static FileTimeInfo GetLatestFileTimeInfo(string dir) { List list = new List(); DirectoryInfo d = new DirectoryInfo(dir); foreach (DirectoryInfo fi in d.GetDirectories()) { list.Add(new FileTimeInfo() { FileName = fi.FullName, FileCreateTime = fi.CreationTime }); } var qry = from x in list orderby x.FileCreateTime select x; return qry.LastOrDefault(); } /// /// 获取某目录下的所有文件(包括子目录下文件)的数量 /// /// /// public static int GetFileNum(string srcPath) { int fileNum = 0; try { string[] fileList = System.IO.Directory.GetFileSystemEntries(srcPath); foreach (string file in fileList) { fileNum++; } } catch (Exception e) { } return fileNum; } public static void WriteFile(string filePath, string text) { try { using (StreamWriter sw = new StreamWriter(filePath, false, Encoding.UTF8)) { byte[] mybyte = Encoding.UTF8.GetBytes(text); text = Encoding.UTF8.GetString(mybyte); sw.Write(text); } } catch { } } public static string ReadFile(string filePath) { string readResult = string.Empty; try { if (File.Exists(filePath)) { using (StreamReader sr = new StreamReader(filePath, Encoding.UTF8)) { readResult = sr.ReadToEnd(); byte[] mybyte = Encoding.UTF8.GetBytes(readResult); readResult = Encoding.UTF8.GetString(mybyte); } } return readResult; } catch (Exception ex) { throw ex; } } } }