ASP.NET总结C#中7种获取当前路径的方法

1. System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName 
-获取模块的完整路径。 
2. System.Environment.CurrentDirectory 
-获取和设置当前目录(该进程从中启动的目录)的完全限定目录。 
3. System.IO.Directory.GetCurrentDirectory() 
-获取应用程序的当前工作目录。这个不一定是程序从中启动的目录啊,有可能程序放在C:\www里,这个函数有可能返回C:\Documents and Settings\ZYB\,或者C:\Program Files\Adobe\,有时不一定返回什么东东,我也搞不懂了。 
4. System.AppDomain.CurrentDomain.BaseDirectory 
-获取程序的基目录。 
5. System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase 
-获取和设置包括该应用程序的目录的名称。 
6. System.Windows.Forms.Application.StartupPath 
-获取启动了应用程序的可执行文件的路径。效果和2、5一样。只是5返回的字符串后面多了一个"\"而已 
7. System.Windows.Forms.Application.ExecutablePath 
-获取启动了应用程序的可执行文件的路径及文件名,效果和1一样。

//获取模块的完整路径。
string path1 = System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName;
//获取和设置当前目录(该进程从中启动的目录)的完全限定目录
string path2 = System.Environment.CurrentDirectory;
//获取应用程序的当前工作目录
string path3 = System.IO.Directory.GetCurrentDirectory();
//获取程序的基目录
string path4 = System.AppDomain.CurrentDomain.BaseDirectory;
//获取和设置包括该应用程序的目录的名称
string path5 = System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase;
//获取启动了应用程序的可执行文件的路径
string path6 = System.Windows.Forms.Application.StartupPath;
//获取启动了应用程序的可执行文件的路径及文件名
string path7 = System.Windows.Forms.Application.ExecutablePath;

StringBuilder str=new StringBuilder();
str.AppendLine("System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName:" + path1);
str.AppendLine("System.Environment.CurrentDirectory:" + path2);
str.AppendLine("System.IO.Directory.GetCurrentDirectory():" + path3);
str.AppendLine("System.AppDomain.CurrentDomain.BaseDirectory:" + path4);
str.AppendLine("System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase:" + path5);
str.AppendLine("System.Windows.Forms.Application.StartupPath:" + path6);
str.AppendLine("System.Windows.Forms.Application.ExecutablePath:" + path7);
string allPath = str.ToString();

/*  输出结果

System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName:D:\work\prj\VP-VPlatform\XmlAndXsd\bin\Release\XmlAndXsd.vshost.exe
System.Environment.CurrentDirectory:D:\work\prj\VP-VPlatform\XmlAndXsd\bin\Release
System.IO.Directory.GetCurrentDirectory():D:\work\prj\VP-VPlatform\XmlAndXsd\bin\Release
System.AppDomain.CurrentDomain.BaseDirectory:D:\work\prj\VP-VPlatform\XmlAndXsd\bin\Release\
System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase:D:\work\prj\VP-VPlatform\XmlAndXsd\bin\Release\
System.Windows.Forms.Application.StartupPath:D:\work\prj\VP-VPlatform\XmlAndXsd\bin\Release
System.Windows.Forms.Application.ExecutablePath:D:\work\prj\VP-VPlatform\XmlAndXsd\bin\Release\XmlAndXsd.EXE   
*/

(0)

相关推荐

  • Asp.net 获取指定目录下的后缀名为".doc" 的所有文件名和文件路径

    c#核心代码: 复制代码 代码如下: DirectoryInfo dir = new DirectoryInfo(strPath); foreach (FileInfo fi in dir.GetFiles("*.doc")) { if (fi.FullName.EndsWith(".doc")) // 将 docx 类型的文件过滤掉 { // 这个 fi 就是你要的 doc 文件 Console.WriteLine(fi.Name); } }

  • asp.net获取网站绝对路径示例

    复制代码 代码如下: VirtualPathUtility.ToAbsolute( " ~/ " )HttpRuntime.AppDomainAppVirtualPathRequest.ApplicationPathPage.ResolveUrl( " ~ " ) 以上代码生成的结果如下:当以网站的方式访问时,结果如下: 复制代码 代码如下: VirtualPathUtility.ToAbsolute("~/") = /HttpRuntime.A

  • asp.net获取HTML表单File中的路径的方法

    复制代码 代码如下: #region 上传文件到数据库和服务器 public void FN_UpFiles() { //遍历File表单元素 HttpFileCollection files = HttpContext.Current.Request.Files; try { for (int iFile = 0; iFile < files.Count; iFile++) { //检查文件扩展名字 HttpPostedFile postedFile = files[iFile]; strin

  • .NET获取当前路径的方法汇总

    以下汇总了.NET(包括ASP.NET/WinForm等)获取当前路径的各种方法 //获取当前进程的完整路径,包含文件名(进程名).   string str = this.GetType().Assembly.Location;   result: X:\xxx\xxx\xxx.exe (.exe文件所在的目录+.exe文件名) //获取新的 Process 组件并将其与当前活动的进程关联的主模块的完整路径,包含文件名(进程名).   string str = System.Diagnosti

  • asp.net获取网站目录物理路径示例

    页面后台cs文件的相对网站根目录的路径/view/Atlas 复制代码 代码如下: string rootPath1= Server.MapPath("~"); string rootPath2 = Request.ApplicationPath; string path1 = Server.MapPath("upload"); string path2 = Server.MapPath(""); string path3 = Server.Ma

  • Asp.net中获取应用程序完整Url路径的小例子

    复制代码 代码如下: /// <summary> /// Gets the absolute root /// </summary> public static Uri AbsoluteWebRoot {     get  www.jb51.net    {         var context = HttpContext.Current;         UriBuilder uri = new UriBuilder();         uri.Host = context.

  • ASP.NET总结C#中7种获取当前路径的方法

    1. System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName  -获取模块的完整路径.  2. System.Environment.CurrentDirectory  -获取和设置当前目录(该进程从中启动的目录)的完全限定目录.  3. System.IO.Directory.GetCurrentDirectory()  -获取应用程序的当前工作目录.这个不一定是程序从中启动的目录啊,有可能程序放在C:\www里,这

  • thinkphp3.x中变量的获取和过滤方法详解

    本文实例讲述了thinkphp3.x中变量的获取和过滤方法.分享给大家供大家参考,具体如下: 这里我们来学习如何在ThinkPHP中使用变量和对变量进行过滤. 在Web开发过程中,我们经常需要获取系统变量或者用户提交的数据,这些变量数据错综复杂,而且一不小心就容易引起安全隐患,但是如果利用好ThinkPHP提供的变量获取功能,就可以轻松的获取和驾驭变量了. 一.获取变量 1.首先,我们来谈下如何获取变量. 第一种方式:传统获取方式,你仍然可以在开发过程中使用传统方式获取各种系统变量,例如: $i

  • 在Python中通过getattr获取对象引用的方法

    getattr函数 (1)使用 getattr 函数,可以得到一个直到运行时才知道名称的函数的引用. >>> li = ["Larry", "Curly"] >>> li.pop <built-in method pop of list object at 0x7fb75c255518> // 该语句获取列表的 pop 方法的引用,注意该语句并不是调用 pop 方法,调用 pop 方法的应该是 li.pop(), 这里

  • Java中四种遍历List的方法总结(推荐)

    实例如下: package com.ietree.basic.collection.loop; import java.util.ArrayList; import java.util.Iterator; import java.util.List; /** * List遍历 * * @author Dylan */ public class ListLoop { public static void main(String[] args) { // 初始化一个长度为10的ArrayList L

  • PHP中3种生成XML文件方法的速度效率比较

    PHP中3种生成XML文件方法的速度比较 有3种方法,分别是直接写;使用DomDocument;使用SimpleXML;其实还有第4种:使用XMLWriter,不过我没用过,也懒得试了.主要是想看看这3种方式哪个速度要快些直接上代码: 复制代码 代码如下: private function directWriteXml(&$data){  $xmltext='<?xml version="1.0" encoding="UTF-8" ?>';  $

  • jsp中四种传递参数的方法

    今天老师讲了jsp中四种传递参数的方法,我觉得总结一下,挺好的,以备后用! 1.form表单 2.request.setAttribute();和request.getAttribute(); 3.超链接:<a herf="index.jsp"?a=a&b=b&c=c>name</a> 4.<jsp:param> 下面一一举例说明: 1.form表单 form.jsp: <%@page contentType="tex

  • Android 中三种启用线程的方法总结

    在多线程编程这块,我们经常要使用Handler(处理),Thread(线程)和Runnable这三个类,那么他们之间的关系你是否弄清楚了呢? 首先说明Android的CPU分配的最小单元是线程,Handler一般是在某个线程里创建的,因而Handler和Thread就是相互绑定的,一一对应. 而Runnable是一个接口,Thread是Runnable的子类.所以说,他俩都算一个进程. HandlerThread顾名思义就是可以处理消息循环的线程,他是一个拥有Looper的线程,可以处理消息循环

  • 详解CocosCreator中几种计时器的使用方法

    一.setTimeOut 3秒后打印abc.只执行一次. setTimeout(()=>{console.log("abc"); }, 3000); 删除计时器,3秒后不会输出abc. let timeIndex; timeIndex = setTimeout(()=>{console.log("abc"); }, 3000); clearTimeout(timeIndex); setTimeout这样写,test函数中输出的this是Window对象

  • Python中五种列表拷贝的方法

    目录 1. 赋值操作 2. 使用copy操作 3. 使用list()构造函数 4. 使用索引 5. 列表生成式 6 总结 1. 赋值操作 最容易想到的就是我们可以使用赋值操作来直接复制列表, 代码如下: copied_list=original_list 此时,original_list 和copyed_list 都将指向同一个列表对象. 举例如下: original_list=[1,2,3] #Copying list using assignment operation copied_lis

随机推荐