2011-12-21 4 views
0

У меня есть связь, которая Im чтения в читатель потока - @ «C: \ Users \ Джеймс \ Desktop \ tweets.txt»Как создать относительный путь к файлу

У меня есть текстовый файл в той же папке, как исходный код и .exe

Как изменить «@» C: \ Users \ James \ Desktop \ tweets.txt «'на относительный путь к файлу?

+0

жаль не ясно, о чем вы просите? «Общий» для чего? – Tigran

+0

Вы имели в виду ** относительный ** путь? – Adam

+0

Должен быть относительный тогда? мне сказали, что это общий? – qwertyuywertwer

ответ

1

Вы можете получить текущий путь сборки/EXE, используя Assembly.GetExecutingAssembly().Location. После того, как вы получите, что вы можете легко добавлять имя текстового файла в пути для доступа текстового файла

Вы также можете получить путь к папке, которая содержит свой ехе с помощью System.IO.Path.GetDirectoryName (Assembly.GetExecutingAssembly().Location)

Как упомянуто Boo вы можете сделать

Path.Combine(System.IO.Path.GetDirectoryName (Assembly.GetExecutingAssembly().Location), "Text File Name"); 
+1

Стоит отметить, что 'Path.Combine (string, string)' следует вызывать вместо того, чтобы просто выполнять конкатенацию строк. –

1

Вы хотите сказать, относительный путь? Вы можете попробовать это:

Uri srFile = new Uri(@"C:\Users\James\Desktop\tweets.txt"); 

Uri projFile= new Uri(@"C:\MyprojectDirectory\Project\..."); 



Uri relativePath = projFile.MakeRelativeUri(srFile); 
+0

Мне нужно передать объявление, которое обновляется в файле. Мне сказали, что вы можете прочитать его из той же папки? независимо от того, где это? – qwertyuywertwer

+0

Вы используете ответ «Харис Хасан», чтобы получить значение 'projFile'. – keyboardP

0

Вы можете использовать свойство Application.StartupPath:

using System.Windows.Forms; 
... 
string myApplicationPath = Application.StartupPath; 
Смежные вопросы