1、用Path类的方法(最常用)

string fullPath = @"\WebSite\Default.aspx";

string filename = System.IO.Path.GetFileName(fullPath);//带拓展名的文件名  “Default.aspx”
string extension = System.IO.Path.GetExtension(fullPath);//扩展名 “.aspx”
string fileNameWithoutExtension = System.IO.Path.GetFileNameWithoutExtension(fullPath);// 不带扩展名的文件名 “Default”
string dir = System.IO.Path.GetDirectoryName(fullPath);     //返回文件所在目录“\\WebSite”

2、用Substring截取

string aFirstName = fullPath.Substring(fullPath.LastIndexOf("\\") + 1, (fullPath.LastIndexOf(".") - fullPath.LastIndexOf("\\") - 1));  //不带拓展名的文件名“Default”
string aLastName = fullPath.Substring(fullPath.LastIndexOf(".") + 1, (fullPath.Length - fullPath.LastIndexOf(".") - 1));   //扩展名“aspx”

string strFileName = fullPath.Substring(fullPath.LastIndexOf("\\") + 1, fullPath.Length - 1 - fullPath.LastIndexOf("\\"));//带拓展名的文件名  “Default.aspx”
string strExtensionName = fullPath.Substring(fullPath.LastIndexOf("."), fullPath.Length - fullPath.LastIndexOf("."));//扩展名 “.aspx”

3、用openFileDialog.SafeFileName,取到该文件的所在目录路径
string path1 = System.IO.Path.GetDirectoryName(openFileDialog1.FileName) + @"\";

string path = Path.GetFileName("C:\My Document\path\image.jpg");    //只获取文件名image.jpg

4、进程相关

//获取当前进程的完整路径,包含文件名(进程名)。获取包含清单的已加载文件的路径或 UNC 位置。
string str0 = this.GetType().Assembly.Location;
//C:\Users\yiyi\AppData\Local\Temp\Temporary ASP.NET Files\web\bd33ba98\cbcc133a\App_Web_eidyl2kf.dll
//result: X:\xxx\xxx\xxx.exe (.exe文件所在的目录+.exe文件名)

//获取新的 System.Diagnostics.Process 组件并将其与当前活动的进程关联
//获取关联进程主模块的完整路径,包含文件名(进程名)
string str1 = System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName;
//C:\Program Files (x86)\Common Files\Microsoft Shared\DevServer\10.0\WebDev.WebServer40.exe
//result: X:\xxx\xxx\xxx.exe (.exe文件所在的目录+.exe文件名)

//获取或设置当前工作目录(即该进程从中启动的目录)的完全限定路径。
string str2 = System.Environment.CurrentDirectory;
//C:\Program Files (x86)\Common Files\Microsoft Shared\DevServer\10.0
//result: X:\xxx\xxx (.exe文件所在的目录)

//获取当前 System.Threading.Thread 的当前应用程序域的基目录,它由程序集冲突解决程序用来探测程序集。
string str3 = System.AppDomain.CurrentDomain.BaseDirectory;
//F:\Code\得利斯20150923\web\
//result: X:\xxx\xxx\ (.exe文件所在的目录+"\")

//获取或设置包含该应用程序的目录的名称。
string str4 = System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase;
//F:\Code\得利斯20150923\web\
//result: X:\xxx\xxx\ (.exe文件所在的目录+"\")

//获取启动了应用程序的可执行文件的路径,不包括可执行文件的名称。
string str5 = System.Windows.Forms.Application.StartupPath;
//C:\Program Files (x86)\Common Files\Microsoft Shared\DevServer\10.0
//result: X:\xxx\xxx (.exe文件所在的目录)

//获取启动了应用程序的可执行文件的路径,包括可执行文件的名称。
string str6 = System.Windows.Forms.Application.ExecutablePath;
//C:\Program Files (x86)\Common Files\Microsoft Shared\DevServer\10.0\WebDev.WebServer40.exe
//result: X:\xxx\xxx\xxx.exe (.exe文件所在的目录+.exe文件名)

//获取应用程序的当前工作目录(不可靠)。
string str7 = System.IO.Directory.GetCurrentDirectory();
//C:\Program Files (x86)\Common Files\Microsoft Shared\DevServer\10.0
//result: X:\xxx\xxx (.exe文件所在的目录)

C# 之 获取文件名及拓展名的更多相关文章

  1. C# 获取文件名及扩展名

    C# 获取文件名及扩展名 string aFirstName = aFile.Substring(aFile.LastIndexOf("\\") + 1, (aFile.LastI ...

  2. C# 获取文件名及扩展名【转】

    https://www.cnblogs.com/libushuang/p/5794976.html C# 获取文件名及扩展名 string aFirstName = aFile.Substring(a ...

  3. lua 获取文件名和扩展名

    local str = "aaa.bbb.bbb.txt" --获取文件名 function getFileName(str) local idx = str:match(&quo ...

  4. asp获取文件名和扩展名的函数代码

    <% '获取文件名(不含扩展名) Function getFilename(text)text = Left(text,inStrRev(text,".")-1)getFil ...

  5. FileUtils【获取SD卡根目录、读写文件、移动、复制、删除文件、获取文件名、后缀名操作类】

    版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 封装了获取SD卡根目录路径.以及对文件读写.获取文件名等相关操作. 因为需要用到android.permission.READ_EX ...

  6. php获取文件名和后缀名

    php获取文件名 1 function retrieve($url) 2 { 3 preg_match('/\/([^\/]+\.[a-z]+)[^\/]*$/',$url,$match); 4 re ...

  7. PHP 获取文件名和扩展名的方法

    dirname(path) path: 代表你的文件路径,必须为绝对路径,可以使用__FILE__, 表示列出当前文件的绝对路径,包含文件名 函数会返回当前文件的上一级路径,也就是除了文件名称的路径 ...

  8. Shell 字符串处理、获取文件名和后缀名

    http://blog.csdn.net/guojin08/article/details/38704823

  9. JavaScript 获取文件名,后缀名

    function getBaseName(str) { var segs = str.split('.'); if(segs.length > 1) segs.pop(); return seg ...

随机推荐

  1. Struts2的struts.properties文件在哪儿啊?

    老师教我们Struts2的时候叫我们建了个Struts.xml文件啊?那struts.properties呢?不需要吗? 回答1: struts.properties 是可以不要的!!!因为 stru ...

  2. 自定义SharePoint列表新增、编辑、查看页面(NewForm、EditForm、DispForm)

    转:http://blog.csdn.net/lance_lot1/article/details/7966571 在项目中,用户需求涉及在一个列表录入项目信息,选择一个项目后,与该项目相关的信息实现 ...

  3. ubuntu设置ip和dns

      装完ubuntu 第一件事情就是连上网,换个源,进行更新操作,但前提条件是要配好ip和dns.   下面把自己配置的过程记录下来,权且当作一份备份,以便不时之需.   一.配置ip      ub ...

  4. UVA 10585 Center of symmetry

    题意:给出一个点集,问这个集合有没有中心点使点集对称,这个点可以是点集中的点也可以不是点集的点. 解法:一开始我枚举每两个点连线的中点……结果T了orz当时也不知道怎么想的…… 将点按横坐标排序,如果 ...

  5. MAT文件操作

    o李YZo 原文 MAT文件打开方法汇总及其他操作 MAT文件简介 为MATLAB使用的一种特有的二进制数据文件.MAT文件可以包含一个或者多个MATLAB 变量.MATLAB通常采用MAT文件把工作 ...

  6. 关于触发器、存储过程和DBlink的综合运用 (转)

    关于触发器.存储过程和DBlink的综合运用 需求描述: 需要在两个不同oracl数据库实例中进行数据逻辑处理.如果A实例中的表有新数据插入或者数据更新,那么在B实例中执行与之相关的存储过程. 先假设 ...

  7. 与非CCR代码互操作

    导读:CCR可以轻松的承载STA组件或者与它互操作:组件应该创建一个只有一个线程的CCR Dispatcher实例,并且在Dispatcher的构造函数中指定线程套间策略.DispatcherQueu ...

  8. mysql 交叉表

    交叉表,但在MySQL中却没有这个功能,但网上看到有不少朋友想找出一个解决方法,特发贴集思广义.http://topic.csdn.net/u/20090530/23/0b782674-4b0b-4c ...

  9. POJ 3107-Godfather(树形dp)

    题意: 有n个节点的树,删除一个点,得到的最大联通分支最小,求这样点的集合 分析: dp[i]表示删除i所得最大联通分支,遍历一遍节点即可,该题用vector会超时 #include <map& ...

  10. HDU 1560 DNA sequence DFS

    题意:找到一个最短的串,使得所有给出的串是它的子序列,输出最短的串的长度,然后发现这个串最长是40 分析:从所给串的最长长度开始枚举,然后对于每个长度,暴力深搜,枚举当前位是哪一个字母,注意剪枝 注: ...