2012-05-11 161 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

相关问题