我需要做这样的事情:
StreamReader reader =
new System.IO.StreamReader(@"C:\Program Files\The Awesome Program That I Made\awesomeloadablefile.ldf");
除了我不知道用户在哪里安装了程序。我的程序应该如何知道已安装文件的位置?
我是菜鸟,以防你没有注意到。
我需要做这样的事情:
StreamReader reader =
new System.IO.StreamReader(@"C:\Program Files\The Awesome Program That I Made\awesomeloadablefile.ldf");
除了我不知道用户在哪里安装了程序。我的程序应该如何知道已安装文件的位置?
我是菜鸟,以防你没有注意到。
您可以使用Assembly.GetEntryAssembly().Location
获取可执行文件在磁盘上的路径,Path.GetDirectoryName
获取它所在的目录,然后Path.Combine
将目录名称与您在该目录中的文件名结合起来。所以:
StreamReader reader = new System.IO.StreamReader(Path.Combine(
Path.GetDirectoryName(Assembly.GetEntryAssembly().Location),
"awesomeloadablefile.ldf"));
尝试这样的事情。
System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location);
类似的东西Assembly.GetExecutingAssembly().Location
应该可以工作。
你可以试试这个:
File.ReadAllText(AppDomain.CurrentDomain.BaseDirectory + "awesomeloadablefile.txt");
假设您知道与可执行文件相关的目录结构,您可以使用Application.StartupPath
:
string path = Path.Combine(Application.StartupPath, "awesomeloadablefile.ldf");
StreamReader reader = new System.IO.StreamReader(path);
这将为您提供 exe 目录的路径。我假设那是您决定放置文件的地方。否则,您可以在安装程序中为其指定一个有位置。您使用的是 Visual Studio 安装程序吗?
Application.StartupPath