2011-12-21 152 views
0

我有即時閱讀到流閱讀器的鏈接 - @「C:tweets.txt \用戶\詹姆斯\桌面\」如何創建相對文件路徑

我在同一文件夾中的文本文件源代碼和.exe

我會如何將'@「C:\ Users \ James \ Desktop \ tweets.txt''更改爲相對文件路徑?

+0

對不起不清楚,你問什麼? 「通用」爲什麼? – Tigran 2011-12-21 19:09:22

+0

你的意思是**相對的**路徑嗎? – Adam 2011-12-21 19:10:40

+0

必須是相對的嗎?我被告知它是通用的? – qwertyuywertwer 2011-12-21 19:11:18

回答

1

您可以通過使用Assembly.GetExecutingAssembly().Location來獲取當前程序集/ exe路徑。一旦你,你可以很容易地在路徑追加文本文件名來訪問您的文本文件

您還可以得到的文件夾通過使用System.IO.Path.GetDirectoryName (Assembly.GetExecutingAssembly().Location)

包含您的exe文件被噓,你可以做提到的路徑

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

值得注意的是應該調用'Path.Combine(string,string)'而不是僅僅進行字符串連接。 – 2011-12-21 19:15:11

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 2011-12-21 19:14:06

+0

您使用'Haris Hasan's'來獲取'projFile'的值。 – keyboardP 2011-12-21 19:15:35

0

可以使用Application.StartupPath屬性:

using System.Windows.Forms; 
... 
string myApplicationPath = Application.StartupPath;