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

Проверить значение и долю приложения ApplicationStartupPath. –

+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

Смежные вопросы