Exemple #1
0
        /// <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;
        }
Exemple #2
0
        /// <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);
        }