2017-04-08 142 views
1

我正在创建一个应用程序,可以从一个文件中读取文本,读取它,通过字符串编辑文本,然后将编辑后的字符串写入新的文本文件。如何使用“相对”路径访问/创建.txt文件

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

我试图达到的是以下内容(因为我知道我可以从“C:\”编写整个路径),文本文件应该位于应用程序目录的某个位置,以便整个应用程序可以无需重新编写路径即可移动。

所以我需要一种方法来写一个“相对”的路径,如果这样的事情是可能的。这应该与创建类似的文件一起工作。

screenshot of the error message

visual studio screenshot with code and file location

在此先感谢。

+0

不要发布外部链接,而是将所有图片和代码部分嵌入到您的问题中(尤其是代码!)。 –

+0

关于相对路径,到目前为止您尝试了什么?你写了什么代码?你有没有使用“C#相对路径”?有几十个教程。 –

回答

0

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


FIRST:
点击InputText.txt

第二:
右击并选择 “属性”,或者按Alt + Enter键

第三:
设置 “建设行动”属性改为“Embedded Resource”

FOURTH:
设置“复制到输出目录”属性设置为 “始终复制”

最后:
更改的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是发现,该文件的文件只能通过输入文件名来解决。