
我们常常把经常使用的方法都写成一个共用的静态类里,便于调用、修改、维护等,并减去一些不必要的工作,节约更多的时间,这里共享一下自己写的一些获取文件名称、文件的后缀名、路径的转换的方法,直接进行字符操作的,没有使用System.IO的文件类进行操作,以便减少内存开销。下面请看代码:
#region 获取文件名称 /// <summary> /// 获取文件名称 /// </summary> /// <param name="path">路径</param> /// <returns></returns> public static string GetFileName(String path) { if (path.Contains("\\")) { string[] arr = path.Split('\\'); return arr[arr.Length - 1]; } else { string[] arr = path.Split('/'); return arr[arr.Length - 1]; } } #endregion #region 获取文件后缀名 /// <summary> /// 获取文件后缀名 /// </summary> /// <param name="filename">文件名</param> /// <returns></returns> public static String GetFex(string filename) { return filename.Substring(filename.LastIndexOf(".") + 1); } #endregion #region 获取文件目录 /// <summary> /// 获取文件后缀名 /// </summary> /// <param name="filename">文件名</param> /// <returns></returns> public static String GetDirectory(string filename) { return filename.Substring(0, filename.LastIndexOf("/")); } #endregion #region 返回当前虚拟目录的真实目录 /// <summary> /// 返回当前虚拟目录的真实目录 /// </summary> /// <param name="SavePath">虚拟目录</param> /// <param name="iscreate">没有是否创建</param> /// <returns></returns> internal static string GetPath(string SavePath, bool iscreate) { string path = System.Web.HttpContext.Current.Server.MapPath(SavePath); if (!System.IO.Directory.Exists(path) && iscreate) { System.IO.Directory.CreateDirectory(path); } return path; } #endregion #region 返回当前虚拟路径的真实路径 /// <summary> /// 返回当前虚拟路径的真实路径 /// </summary> /// <param name="SavePath">虚拟路径</param> /// <param name="iscreate">没有是否创建</param> /// <returns></returns> public static string GetFilePath(string SavePath, bool iscreate) { return GetPath(VirtualPathUtility.GetDirectory(SavePath), iscreate); } #endregion