簡體   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