如何使用“相对”路径访问/创建.txt文件

时间:2017-04-08 23:38:37

标签: c# file c#-4.0 filenotfoundexception

我正在创建一个应用程序,可以从一个文件中获取文本,读取它,通过字符串编辑文本,然后将编辑后的字符串写入新的文本文件中。

我的问题是无法找到该文件。在下面的示例中,我将文件放在屏幕截图中指示的文件夹中,并在“bin”文件中进行另一次尝试,两者都没有成功和相同的错误消息。

我想要实现的是以下(因为我知道我可以从“C:\”编写整个路径),文本文件应该位于应用程序目录中的某个位置,以便整个应用程序可以移动而不必重写路径。

所以我需要一种方法来编写“相对”路径,如果可能的话。这应该同样适用于创建文件。

screenshot of the error message

visual studio screenshot with code and file location

提前感谢。

1 个答案:

答案 0 :(得分:0)

摘要/说明:找不到该文件,因为您设置的目录不是该文件的目录。如果该文件与您当前正在处理的C#文件位于同一目录中,则无需将文件夹的目录添加到其中,而只需键入文件名。您还可以考虑本段下面的内容。

FIRST:
单击InputText.txt

SECOND:
右键单击并选择“属性”或按Alt + Enter

第三:
将“Bu​​ild Action”属性设置为“Embedded Resource”

第四个:
将“复制到输出目录”属性设置为“始终复制”

最后:
将Readline的第一个参数更改为 - > @ “InputText.txt”

...
foreach (string line in File.ReadLines(@"InputText.txt", Encoding.UTF8))
    {
       originalTextInLines.Add(line);
    }
...



Accessing a Text File with a relative path

这是示例输出(在我尝试此操作的情况下)。


The text file the example application above reads

这是上面示例应用程序的文件


The output directory of the

该文件与Program.cs位于同一目录中,只能通过键入文件名来解决该文件。