如何使用c#从app的安装文件夹中读取文件?

时间:2010-04-28 15:19:19

标签: c# windows windows-services

我正在使用File.ReadAllText(“filename.txt”)读取文件。此文件位于.exe文件所在的文件夹(c:/ program files / installation folder)中。但默认情况下,Windows应用程序会查看此文件的System32文件夹。

**我不想硬编码文件的路径。

4 个答案:

答案 0 :(得分:8)

string path = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase );

给出exe的目录。 因此,使用Path.Combine将获得所需的结果:

string filenamelocation = System.IO.Path.Combine(path, "filename.txt");

答案 1 :(得分:6)

尝试此功能:

using System.Reflection;

private string MyDirectory()
    {
        return Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
    }

然后使用

File.ReadAllText(MyDirectory() + @"\filename.txt");

答案 2 :(得分:3)

更短

File.ReadAllText(AppDomain.CurrentDomain.BaseDirectory + "filename.txt");

答案 3 :(得分:1)

所以你需要你的应用程序的目录? 在这种情况下,SO上已有一些好的答案,例如:

Getting the application's directory from a WPF application