2017-04-08 83 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是發現,該文件的文件只能通過輸入文件名來解決。