【问题标题】:how to access/create a .txt file with a "relative" path如何使用“相对”路径访问/创建 .txt 文件
【发布时间】:2017-04-08 23:38:36
【问题描述】:

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

我的问题是找不到文件。在下面的示例中,我将文件放在屏幕截图中指示的文件夹中,并在“bin”文件中进行了另一次尝试,均未成功且错误消息相同。

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

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

screenshot of the error message

visual studio screenshot with code and file location

提前致谢。

【问题讨论】:

  • 不要发布外部链接,而是将所有图像和代码部分嵌入到您的问题中(尤其是代码!)。
  • 关于相对路径,到目前为止你尝试过什么?你写了什么代码?你用谷歌搜索过“c# 相对路径”吗?有几十个教程。

标签: c# file c#-4.0 filenotfoundexception


【解决方案1】:

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


第一:
点击 InputText.txt

第二:
右键单击并选择“属性”或直接按 Alt + Enter

第三:
将“构建操作”属性设置为“嵌入式资源”

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

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

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




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


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


该文件位于与 Program.cs 相同的目录中,该文件可以仅通过键入其文件名来寻址。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-18
    • 2020-05-18
    • 2016-05-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多