2013-09-30 288 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