我給我的文件路徑,我想在我的程序中這樣讀取,path = "c:/users/abcd/desktop/read.txt"
但調試時我發現它顯示爲c://users//abcd//desktop//read.txt
這是一個無效的路徑。找不到路徑
有什麼我失蹤或我該如何去宣佈一條路徑。
我給我的文件路徑,我想在我的程序中這樣讀取,path = "c:/users/abcd/desktop/read.txt"
但調試時我發現它顯示爲c://users//abcd//desktop//read.txt
這是一個無效的路徑。找不到路徑
有什麼我失蹤或我該如何去宣佈一條路徑。
嘗試path = @"c:\user\abcd\desktop\read.txt"
我還沒有與C#工作了一段時間,但有可能的是,調試器只是顯示你的字符串逃過版本,但字符串本身是好的?點擊調試器中字符串旁邊的放大鏡顯示文本可視化器,看看它在那裏看起來是否正常。
但是File NOt Found的例外情況怎麼樣,我也是這樣試過的,但仍然是它的例外。 – Ashutosh 2010-11-10 22:36:11
我認爲你是正確的....而通過cmd提示它說,系統找不到指定的路徑,但如果我右鍵單擊該文件,並看到它的路徑顯示相同的東西。它在我的桌面上 – Ashutosh 2010-11-10 22:43:11
一旦你在變量中使用路徑,你如何使用它?它試圖使用相對於程序所在文件夾的路徑嗎?像「C:\ MyProgramFolder \ c:\ user \ abcd \ desktop \ read.txt」? – adam0101 2010-11-10 22:45:45
我只想用:
@"c:\user\abcd\desktop\read.txt"
(注意,使用了@
的)。另一個可能的問題是權限;該應用程序有訪問用戶acbd的桌面?你也可以看看:
Environment.GetFolderPath(System.Environment.SpecialFolder.DesktopDirectory)
和
Environment.GetFolderPath(System.Environment.SpecialFolder.Desktop)
我猜測,這些都是反斜槓。這是調試器顯示某些字符的方式。換行符將顯示爲「\ r \ n」,選項卡顯示爲「\ t」,反斜槓顯示爲「\\」。字符串「a \ b \ c \ d」將在調試器中顯示爲「a \\ b \\ c \\ d」,因爲這是您必須鍵入代碼以獲取實際字符串「a \ b \ d」光盤」。當調試器顯示加倍的反斜槓時,每個\實際上是一個單獨的。
調試器只顯示文件的轉義版本。我注意到你的一個路徑包含字符串「user」,而另一個包含「users」是複數的問題?
對不起,這是一個錯字 – Ashutosh 2010-11-10 22:39:06
如果您的字符串包含反斜槓(\\)而不是斜線(/),那麼這樣做會很有意義,因爲您必須轉義反斜槓才能在字符串中獲得文字反斜槓字符。如果你有斜槓並且它們翻倍,那麼你一定在做一些你沒有告訴我們的事情。 – lincolnk 2010-11-10 22:31:32
你做的一切正確 – muek 2010-11-10 22:31:51
我建議你總是在這些情況下發布實際的異常。他們通常會反映這個問題。 – steinar 2010-11-10 22:32:58