/// <summary> /// 在给定的基目录下建立以日期分割的子目录,并返回这个子目录 /// </summary> /// <param name="nativeBasePath">基地址</param> /// <param name="datePathFormater">作为子目录的日期格式</param> /// <returns></returns> public static string EnsureDatePath(string nativeBasePath, DatePathFormaters datePathFormater) { string result = string.Empty; if (string.IsNullOrEmpty(nativeBasePath) == false) { if (Directory.Exists(nativeBasePath) == false) { Directory.CreateDirectory(nativeBasePath); } string relativePath = string.Empty; switch (datePathFormater) { case DatePathFormaters.YMD: relativePath = DateTime.Today.ToString("yyyyMMdd"); break; case DatePathFormaters.Y_MD: relativePath = string.Format(@"{0}\{1}{2}", DateTime.Today.Year.ToString("0000"), DateTime.Today.Month.ToString("00"), DateTime.Today.Day.ToString("00")); break; case DatePathFormaters.Y_M_D: default: relativePath = string.Format(@"{0}\{1}\{2}", DateTime.Today.Year.ToString("0000"), DateTime.Today.Month.ToString("00"), DateTime.Today.Day.ToString("00")); break; } string fullPath = Path.Combine(nativeBasePath, relativePath); if (Directory.Exists(fullPath) == false) { Directory.CreateDirectory(fullPath); } result = fullPath; } return result; }
/// <summary> /// 通过给定的基地址和文件名称,获取文件应该保存的安装年月日期格式话后的目录(年月目录作为基地址的子目录) /// </summary> /// <param name="basePath"></param> /// <param name="fileShortName"></param> /// <param name="datePathFormater"></param> /// <returns></returns> public static string GenerateYearMonthSeperatedFileFullName(string basePath, string fileShortName, DatePathFormaters datePathFormater) { string pathWithDateInfo= IOHelper.EnsureDatePath(basePath,datePathFormater); if (string.IsNullOrEmpty(fileShortName) == true) { fileShortName = GuidHelper.NewGuidString() + ".xml"; } return Path.Combine(pathWithDateInfo, fileShortName); }