获取exe文件的路径进行截取,分两次进行,然后拼接文件名,形成全路径

代码如下:
string haarXmlPath = @"haarcascade_frontalface_alt_tree.xml";

string fullName = Application.StartupPath.Substring(, Application.StartupPath.LastIndexOf("\\"));

fullName = fullName.Substring(, fullName.LastIndexOf("\\")) + "\\" + haarXmlPath;

System.Diagnostics命名空间 :

string str1 =Process.GetCurrentProcess().MainModule.FileName;  //可获得当前执行的exe的文件名。

System 命名空间:

string str2=Environment.CurrentDirectory;  //获取和设置当前目录(即该进程从中启动的目录)的完全限定路径。

System.IO命名空间:

string str3=Directory.GetCurrentDirectory();  //获取应用程序的当前工作目录。

string str4=AppDomain.CurrentDomain.BaseDirectory;  //获取基目录,它由程序集冲突解决程序用来探测程序集。

string str5=Application.StartupPath;  //获取启动了应用程序的可执行文件的路径,不包括可执行文件的名称。

string str6=Application.ExecutablePath;  //获取启动了应用程序的可执行文件的路径,包括可执行文件的名称。

string str7=AppDomain.CurrentDomain.SetupInformation.ApplicationBase;  //获取或设置包含该应用程序的目录的名称。

其他方法介绍:

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一样。

获取嵌入的资源文件的路径和方法

eg1.获取项目资源文件中的图片:

pictureBox1.BackgroundImage = global::工程名.Properties.Resources.图片名(没有后缀);

另附一种方法:

//获取项目中“资源文件”的数据

Assembly asm = Assembly.GetExecutingAssembly();
ResourceManager rm = new ResourceManager("TestCustomForm.Properties.Resources", asm);
String str = rm.GetString("ApplicationName");   
//添加到资源文件的字符串
Image img = rm.GetObject("bamboo") as Image;  //添加到资源文件的图片

eg2.获取项目添加项文件夹下的htm文件(注意:文件属性中生成操作得改为(嵌入的资源))不包括具体调用htm中具体字节方法:

private string getStringResource(String name)
{
//根据assembly名称加载程序集到当前的Appdomain
//System.Reflection.Assembly ass = System.Reflection.Assembly.Load("MyAssembly");
System.Reflection.Assembly asm = this.GetType().Assembly;
//在这个文件中列出的所有资源
System.Diagnostics.Debug.WriteLine("found resouces:");
foreach (String rs in asm.GetManifestResourceNames())
{
System.Diagnostics.Debug.WriteLine(rs);
     name = this.GetType().Namespace + "." + name;
} System.IO.Stream strm = asm.GetManifestResourceStream(name);
//默认的系统编码转换为字符串
return new System.IO.StreamReader(strm, System.Text.Encoding.Default).ReadToEnd();
}

图片调用:Image.FromStream(Assembly.GetExecutingAssembly().GetManifestResourceStream(@"TestCustomForm.Res.button.btndown.bmp"));

其中:TestCustomForm为项目名称,Res为项目下的文件夹,button为Res的子文件夹,btndown.bmp是文件名称。

winform使用相对路径读取文件的方法的更多相关文章

  1. C#中winform使用相对路径读取文件的方法

    http://cache.baiducontent.com/c?m=9f65cb4a8c8507ed4fece763105392230e54f73b6cd0d3027fa3cf1fd579080101 ...

  2. java 使用相对路径读取文件

    java 使用相对路径读取文件 1.java project环境,使用java.io用相对路径读取文件的例子: *目录结构:  DecisionTree            |___src      ...

  3. SQL Server 无法在服务器上访问指定的路径或文件解决方法

    SQL Server 无法在服务器上访问指定的路径或文件解决方法 在SQL Server附加数据库或备份数据库时出现:无法在服务器上访问指定的路径或文件. 请确保您具有必需的安全权限且该路径或文件存在 ...

  4. 分享:Perl打开与读取文件的方法

    在Perl中可以用open或者sysopen函数来打开文件进行操作,这两个函数都需要通过一个文件句柄(即文件指针)来对文件进行读写定位等操作. Perl打开与读取文件的方法,供大家学习参考.本文转自: ...

  5. php中禁止非法调用和硬路径引入文件的方法

    php中禁止非法调用和硬路径引入文件的方法 在php中有一些公共的文件为了方便,我们会做一个公共文件,让不用的文件共同调用.为了禁止公共文件被非常单独调用,可以在文件上做一个常量,禁止非常调用:在公共 ...

  6. Java FileReader使用相对路径读取文件

    Java FileReader使用相对路径读取文件 觉得有用的话,欢迎一起讨论相互学习~Follow Me 在进行编程时需要时常更换主机进行测试,如果使用绝对路径则需要经常更改,为此使用相对路径是一个 ...

  7. Python读取文件基本方法

    在日常开发过程中,经常遇到需要读取配置文件,这边就涉及到一个文本读取的方法. 这篇文章主要以Python读取文本的基础方法为本,添加读取整篇文本返回字符串,读取键值对返回字典,以及读取各个项返回列表的 ...

  8. Java相对路径读取文件

    不管你是新手还是老鸟,在程序中读取资源文件总会遇到一些找不到文件的问题,这与Java底层的实现有关,不能算bug,只要方法得当,问题还是可以解决的. 项目的文件夹结构: repathtest ├─sr ...

  9. C# Note5:使用相对路径读取文件

    一.C#中使用相对路径读取配置文件 一般Solution的目录结构如下图所示: (如过看不到某些文件,可以点击 “显示所有文件” 图标) 方法一:由于生成的exe文件在bin\debug目录下,可以使 ...

随机推荐

  1. ABAP权限检查,TCode与权限对象进行关联

    一.确认权限对象,和关联字段: Tcode:SU21 维护权限对象例如"M_MSEG_WMB",它关联字段为'WERKS'M_MSEG_WMB 物料凭证:工厂 二.在ABAP代码中 ...

  2. django事物回滚

    往数据库写入数据时,不经意间就会写入不完整的数据,我们称之为脏数据.事务管理(transaction)可以防止这种情况发生.事务管理一旦检测到写入异常,会执行回滚操作,即要么写入完整的数据,要么不写入 ...

  3. Shallow Copy & Deep Copy in Python list

    今天在写一个小程序的时候用到了2维数组, 顺手就写成了[[0.0]*length]*length, 结果为了这个小错,调试了半个多小时, 其实之前对与浅复制和深复制已经做过学习和总结, 但真正编程用到 ...

  4. docker学习笔记1-- 用Toolbox安装Docker--介绍Docker Machine

    使用的是Docker Toolbox,非Docker for Windows 一.docker的认识与安装(windows安装) http://blog.csdn.net/tina_ttl/artic ...

  5. json教程系列(4)-optXXX方法的使用

    在JSONObject获取value有多种方法,如果key不存在的话,这些方法无一例外的都会抛出异常.如果在线环境抛出异常,就会使出现error页面,影响用户体验,针对这种情况最好是使用optXXX方 ...

  6. Shell编程之运算

    一.变量的数值计算 1.算术运算符 常用的运算符号 常用的运算命令 (1)双小括号 基本语法 1)利用"(())"进行简单运算 [root@codis-178 ~]# echo $ ...

  7. Shell编程基础及变量

    一.Shell脚本 1.Shell脚本的建立 由Linux命令.shell命令.程序结构控制语句和注释等内容组成. 脚本第一行 #!/bin/bash #!字符称为幻数,内核会根据它后面的解释器来确定 ...

  8. class_exists — 检查类是否已定义

    class_exists — 检查类是否已定义 bool class_exists ( string $class_name [, bool $autoload = true ] ) 检查指定的类是否 ...

  9. vRA7 Software Component

    将自定义Property传递给Software Component 示例: vRA7 支持 Software Components,并且还可以在用户的申请页面中,做一个下拉菜单,让用户选择需要安装的S ...

  10. netty上手

    关于netty的基础NIO,请参见:NIO原理及实例 下面介绍Netty的上手使用: 首先为项目添加jar依赖: <dependency> <groupId>io.netty& ...