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

 更新时间:2015年01月09日 09:00:23   投稿:shichen2014  
这篇文章主要介绍了C#中winform使用相对路径读取文件的方法,实例分析了C#使用相对路径读取文件的技巧与实际应用,需要的朋友可以参考下

本文实例讲述了C#中winform使用相对路径读取文件的方法。分享给大家供大家参考。具体分析如下:

目录结构如下图所示:

 

方法一:由于生成的exe文件在bin\debug目录下,可以使用向上查找目录的方式获取要读取的xml文件

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

FileInfo file = new FileInfo(fileName);

string  fullName = file.FullName;

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

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

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

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

另一种方式:

复制代码 代码如下:

/// <summary>
/// 获取应用程序根路径
/// </summary>
private static string GetApplicationPath()
{
        string path = Application.StartupPath;
        //string path=AppDomain.CurrentDomain.BaseDirectory; //另一种获取方式
        string folderName = String.Empty;
        while (folderName.ToLower() != "bin")
        {
            path = path.Substring(0, path.LastIndexOf("\\"));
            folderName = path.Substring(path.LastIndexOf("\\") + 1);
        }
        return path.Substring(0, path.LastIndexOf("\\") + 1);
}

希望本文所述对大家的C#程序设计有所帮助。

相关文章

  • C#中的异常处理问题try catch finally

    C#中的异常处理问题try catch finally

    这篇文章主要介绍了C#中的异常处理问题try catch finally,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-11-11
  • 一款域名监控小工具 Domain(IP)Watcher 实现代码

    一款域名监控小工具 Domain(IP)Watcher 实现代码

    域名是否正常,网站是否可以正常访问是很头痛的问题,怎样简单地监控域名是否可以正常访问呢,这里发布一款域名监控小工具:Domain(IP)Watcher
    2011-11-11
  • c# 用Dictionary实现日志数据批量插入

    c# 用Dictionary实现日志数据批量插入

    这篇文章主要介绍了c# 用Dictionary实现日志数据批量插入的步骤,帮助大家更好的理解和使用c#中的Dictionary类,感兴趣的朋友可以了解下
    2021-02-02
  • C# Winform实现圆角无锯齿按钮

    C# Winform实现圆角无锯齿按钮

    这篇文章主要介绍了C# Winform实现圆角无锯齿按钮,文章围绕主题展开详细的内容介绍,具有一定的参考价值,感兴趣的小伙伴可以参考一下
    2022-08-08
  • C#中多线程更新UI控件的常用方案

    C#中多线程更新UI控件的常用方案

    在C#中,特别是在使用Windows窗体(WinForms)或WPF(Windows Presentation Foundation)进行UI开发时,处理多线程与UI控件的交互需要特别小心,本文给大家介绍了几种在C#中安全地从多线程更新UI控件的常用方案,需要的朋友可以参考下
    2024-07-07
  • C# 注册表 操作实现代码

    C# 注册表 操作实现代码

    Windows 操作系统的注册表包含了很多有关计算机运行的配置方式,打开注册表我们可以看到注册表是按类似于目录的树结构组织的
    2009-07-07
  • C#使用WMI获取硬盘参数的实现方法

    C#使用WMI获取硬盘参数的实现方法

    因为需求需要涉及获取硬盘的SN参数,但是又不想要获取到U盘或移动硬盘设备的SN,所以就浅浅的研究了一下,本文给大家介绍了C#使用WMI获取硬盘参数的实现方法,需要的朋友可以参考下
    2024-06-06
  • C# IQueryable<T>揭开表达式树的神秘面纱

    C# IQueryable<T>揭开表达式树的神秘面纱

    这篇文章主要介绍了C# IQueryable<T>表达式树,对IQueryable<T>感兴趣的同学,必须要仔细看一下
    2021-04-04
  • 比较2个datatable内容是否相同的方法

    比较2个datatable内容是否相同的方法

    这篇文章主要介绍了比较2个datatable内容是否相同的方法,大家参考使用吧
    2014-01-01
  • C# Path类---文件路径解读

    C# Path类---文件路径解读

    这篇文章主要介绍了C# Path类---文件路径,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-01-01

最新评论