繁体   English   中英

txt项目文件编写问题C#

[英]Txt project file writing problems C#

我不明白为什么我可以读取但无法写入项目内部的文件。 当我选择发行版时,它似乎要写入文件,但是在调试模式下则没有。 当我使用相同的功能将列表写入文件行中的另一个文件夹时,它总是可以工作,但不能在我想要的文件上工作。

示例:功能:

public void WriteLinesFromListToTextFile(List<string> listOfContent, string txtFileName)
{
    StreamWriter writer = File.AppendText(txtFileName);
    foreach (string Item in listOfContent)
    {
        writer.WriteLine(Item);
    }
    writer.Flush();
    writer.Close();
}

然后

List<string> exampleList = new List<string>();
tmp.Add("line1");
tmp.Add("line2");
tmp.Add("line3");
WriteLinesFromListToTextFile(exampleList, "TextOnProjectRoot.txt")

在文件属性中,我选择了“始终复制”,还尝试了“如果更新则复制”。 我也以管理员身份运行VS。 当我创建文件时,它确实将其复制到了根文件夹,但是没有写入。 我还想指出一点,也没有例外。 谢谢你的帮助

我不确定您要归档的内容,但是我这样理解您:

您的项目中有一个文本文件。 在运行时,您尝试向该文件写入一些文本。 当您关闭应用程序时,您希望在项目的文本文件中看到更改。

我对吗?

如果是这样,我可能会认为问题出在以下方面:首次启动应用程序时,项目中的文本文件将与可执行文件一起复制到输出文件夹中。 程序运行,文件被处理。 但是,当应用程序关闭时,文件永远不会从输出文件夹复制回到项目文件夹。 那不是事情的运作方式...

如果您的程序需要访问文件,并且您未指定路径,则它将使用.exe的当前位置。 如果这足以满足您的目的,那么您只需要知道您无法将其添加到解决方案中即可; 就像Vegar所说的那样,这是行不通的。 您可以做的是编译程序,然后浏览到.exe所在的文件夹(调试,发布或其他),然后从那里运行.exe,然后打开文本文件并查看所做的更改。 如果需要创建或确保文件已存在,也可以在代码中进行操作。 您将无法将其包括在解决方案中,但仍可以写入文件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM