2013-09-30 332 views
2
private void button1_Click(object sender, EventArgs e) 
    { 
     string fileLoc = @"c:\wms.txt"; 

     if (File.Exists(fileLoc)) 
     { 
      using (TextReader tr = new StreamReader(fileLoc)) 
      { 
       MessageBox.Show(tr.ReadLine()); 
      } 
     } 
    } 

這在我創建Windows應用程序時非常有用。閱讀文本文件C#

當我在一個設備應用程序中使用相同的代碼 - Windows CE的我得到錯誤:

enter image description here

使用:NET 2.0,Visual Studio 2005中

+6

異常文本可以是任何更清楚了嗎? –

+0

@JonathonReinhart對不起,我不知道你明白你想說什麼嗎? –

+0

看起來像你有一個額外的斜線在那裏。 – gwin003

回答

5

您的設備不具有c駕駛。更換

string fileLoc = @"c:\wms.txt"; 

string fileLoc = @"wms.txt"; 

看來,根文件夾會自動添加到您的路徑與\

+1

難道你不想讓「\」仍然留在那裏,否則你會得到一個相對的位置? – gunr2171

+1

@ gunr2171據我所知,Windows CE並沒有「當前目錄」的概念,因此所有路徑都被自動假定爲以root開頭,這意味着'\\'真的是可選的。 –

3

Windows CE不具備的drive letters的概念。你的路徑應該簡單地是@"\wms.txt"

-1

嘗試

string fileLoc = @"c:\wms.txt"; 

string fileLoc = "c:\\wms.txt"; 
+1

您的第一個示例正是OP所嘗試的,第二個示例是另一種避免反斜槓的方法。 – gunr2171