读取文件下的文件名称(加判定条件)


        
/// <summary>
        
/// 遍历路径的模板文件,并存入hashtable中
        
/// </summary>
        
/// <param name="directorypath">需要遍历扫描的文件夹</param>
        
/// <param name="ht">返回的模板及配置文件</param>
        
/// <returns>返回包含模板文件及配置文件的hashtable</returns>
        private Hashtable GetTemplatesFromPath(string directorypath)
        {
            Hashtable ht 
= new Hashtable();
            
//指向模板目录
            DirectoryInfo dirinfo = new DirectoryInfo(GetMapPath("templates/" + directorypath + "/"));

            
//遍历模板目录中的文件
            foreach (FileSystemInfo file in dirinfo.GetFileSystemInfos())
            {
                
//将文件不为空的后缀名为.htm及不以下划线开冰的页页(即排除掉头部包含文件的模块)
                if (file != null && (file.Extension.ToLower().Equals(".html"|| file.Extension.ToLower().Equals(".config")) && file.Name.IndexOf("_"!= 0)
                {
                    ht[file.Name] 
= file;
                }
            }
            
return ht;
        }
   /// <summary>
        
/// 获得当前绝对路径
        
/// </summary>
        
/// <param name="strPath">指定的路径</param>
        
/// <returns>绝对路径</returns>
        public static string GetMapPath(string strPath)
        {
            
if (HttpContext.Current != null)
            {
                
return HttpContext.Current.Server.MapPath(strPath);
                
//return strPath;
            }
            
else //非web程序引用
            {
                strPath 
= strPath.Replace("/""\\");
                
if (strPath.StartsWith("\\"))
                {
                    strPath 
= strPath.Substring(strPath.IndexOf('\\'1)).TrimStart('\\');
                }
                
return System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, strPath);
            }
        }
posted @ 2009-05-20 14:19  awp110  阅读(194)  评论(0编辑  收藏  举报