确定c#中资源的FilePath

本文关键字:FilePath 资源 确定 | 更新日期: 2023-09-27 18:08:15

我在Visual studio 2010解决方案中有一个CSV文件,我想知道如何确定该CSV文件的绝对路径。我需要它是动态的,因为路径确实会根据项目文件在用户文件系统中的位置而变化。

感谢您的协助

确定c#中资源的FilePath

如果CSV文件位于应用程序的工作目录中,则可以使用path获取绝对路径。GetFullPath方法:

var result = Path.GetFullPath("file.csv");
// result == @"C:'Users'...Studio 2010'Projects'MyProject'bin'Debug'file.csv";

路径可以是某个位置(通常是可执行文件的位置)的绝对路径或相对路径。如果你在你的项目中有一个CSV文件,你可以设置它的属性自动复制到输出文件夹(Copy to Output Directory: Copy always),在你的应用程序中使用相对路径:

using (var csv = File.OpenRead("test.csv"))
{
    ...
}

使用路径。GetFullPath方法

可以使用

string exedir = Path.GetDirectory(Assembly.GetExecutingAssembly().Location)

获取主exe目录。
然后你可以添加你喜欢的内容。例如

csv_path = Path.Combine(exedir, "my_csv_file.csv")

csv_path = Path.Combine(exedir, @"subdir1'subdir2'my_csv_file.csv")