我们常常把经常使用的方法都写成一个共用的静态类里,便于调用、修改、维护等,并减去一些不必要的工作,节约更多的时间,这里共享一下自己写的一些获取文件名称、文件的后缀名、路径的转换的方法,直接进行字符操作的,没有使用System.IO的文件类进行操作,以便减少内存开销。下面请看代码:
EXFCODE:
#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