C#获取文件名称、路径、后缀名

所属分类:[Asp.Net] | 发表于:2010-1-21 13:29:42 | 人气(1552)

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

4    0