2013-12-09 242 views
1

我正在寫一個文本文件夾,該文件夾位於我的項目文件夾中,但似乎無法編寫絕對完整的路徑,因爲它在我的電腦上很好這臺電腦,但當我想把它在別處我不能有,因爲驅動器是不同的,等等。Visual Studio項目目錄問題

這是我用來讓它張貼到右側目錄的行的屏幕截圖。

我試圖訪問的文件位於名爲AdminAccount的文件夾中,名爲User.txt。它可以正常工作,正如你可以從註釋目錄鏈接看到的那樣直接路徑,但是當我嘗試使用目錄字符串時它不起作用。

http://i.imgur.com/hAV55W0.png

任何幫助如何解決這個問題?我嘗試了各種各樣,我試着做

private string[] getLines = System.IO.File.ReadAllLines(@"\AdminAccount\User.txt"); 
private string[] getLines = System.IO.File.ReadAllLines(@"..\AdminAccount\User.txt"); 

沒有快樂。

+0

什麼是當前文件夾? imean你從哪個文件上面寫着? –

回答

1

可以使用,

string rootPath = Environment.CurrentDirectory; 
string filePath = Path.Combine(rootPath,@"..\..\AdminAccount\User.txt"); 
private string[] getLines = System.IO.File.ReadAllLines(@filePath); 

..\採用層次結構中的訪問頂層文件夾。您可以繼續添加..\以在層次結構中向上移動。

例:

string path1 = @"C:\Users\Documents\Visual Studio 2010\Projects\Test\Test\bin\Debug" 
string newPath = Path.Combine(path1, @"..\..\AdminAccount\User.txt"); 

新的路徑將返回 C:\Users\Documents\Visual Studio 2010\Projects\Test\Test\AdminAccount\User.txt

+0

可愛的解釋。真的很感激它。謝謝您的幫助! – JARRRRG

0

你只需要設置屬性「複製到輸出目錄」中的「User.txt」文件的「複製百達」「複製,如果新」

現在就可以讀取行,如下

string[] getLines = File.ReadAllLines(
       Path.Combine(Application.StartupPath, "AdminAccount", "User.txt"));