File.ReadLines 相对于应用程序可执行文件的路径?

Kea*_*von 0 c# file streamwriter streamreader filepath

我正在读取和写入一些文本文件,并且当前正在使用设定路径。如何更改该设置路径以使用可执行文件所在的同一文件夹?

例如:

File.ReadLines(@"D:\Users\MyUserName\Desktop\MyApplication\names.txt").Skip(1).ToList();
Run Code Online (Sandbox Code Playgroud)

和...

File.WriteAllLines(@"D:\Users\MyUserName\Desktop\MyApplication\names.txt", lines);
Run Code Online (Sandbox Code Playgroud)

和...

using (StreamWriter writer = new StreamWriter(@"D:\Users\MyUserName\Desktop\MyApplication\names.txt", true))
{
    writer.WriteLine(myText);
}
Run Code Online (Sandbox Code Playgroud)

在 IDE (Visual Studio) 中测试时它也需要工作。

Jim*_*hel 5

该路径是相对于当前工作目录的。在 IDE 中运行时,这将是可执行文件所在的目录。否则,它通常是您启动程序的目录。

因此,如果您当前的目录(在命令行上)是 C:\foo 并且您输入命令“C:\bar\myprogram.exe”,您的程序将在 C:\foo 中启动,并且如果您尝试打开文件“ foob​​y.txt”,它将查找“C:\foo\fooby.txt”。

请参阅如何获取 C# 中当前可执行文件的名称?有关如何获取可执行文件路径的信息。