2012-05-11 199 views
3

我通過使用下面的代碼獲取路徑非法字符:C#中的路徑非法字符

string fileNameExisting = Application.StartupPath + "\\CodesLocation\\Template.pdf"; 
PdfReader templateFile = new PdfReader(fileNameExisting); 

我測試了一些變化:

string fileNameExisting = @Application.StartupPath + "\CodesLocation\Template.pdf"; 
PdfReader templateFile = new PdfReader(fileNameExisting); 

但它仍然得到同樣的非法錯誤。

任何人都可以幫我看看我的代碼是否錯誤?

謝謝。

+5

爲什麼不輸出'fileNameExisting',以便我們可以看到非法字符是什麼。 – Nick

+0

檢查Application.StartupPath值和共享。 –

+0

它是c:\ Projects ...讓我試試答案n恢復如果有任何問題 – kyusan93

回答

10

我建議採用適當的方式加入在.NET路徑: Path.Combine

所以

Path.Combine(Application.StartupPath, "CodesLocation","Template.pdf"); 
+0

讓我嘗試當我有我的筆記本電腦...無論如何感謝您的及時協助 – kyusan93

+0

這是顯示C:\ Projects \ CodesLocation \ Template.pdf ...它仍然得到相同的非法錯誤。 – kyusan93

2

一種在一個字符串的前關閉\逸出(在一個變量的前它顯式地將一個變量作爲不是關鍵字):

Path.Combine(Application.StartupPath, @"CodesLocation\Template.pdf"); 

而且Path.Combine是現有技術的狀態連接路徑的方法(獨立於平臺,負責額外削減)。

2

你應該充分利用
Path.Combine(Application.StartupPath, "CodesLocation\\Template.pdf")。 除此之外,檢查Application.StartupPath是否以\結尾。

+0

Application.StartupPath不會以\結尾,並且它仍不能與Path.Combine一起使用。 – kyusan93

相關問題