文件未找到异常.. 但是它存在。

22

嘿,这将是那些愚蠢问题之一。我试图在本地系统上获取文件,但我不断地遇到 FileNotFoundException 抛出的异常。

请有人纠正我一下 :)

if( File.Exists(@"C:\logs\hw-healthways-prod_2009-08-26.tar"))
{
     Console.WriteLine("Yay");
}
else
{
     throw new FileNotFoundException();   
}

尝试将文件移动到与执行应用程序相同的位置,并执行以下操作:

 if( File.Exists("hw-healthways-prod_2009-08-26.tar"))

同样的事情。

然后我创建了一个随机的txt文件并将其放在那里.."me.txt"

它起作用了?!所以你认为文件名是问题所在?

4个回答

16

也许文件名应该是"hw-healthways-prod_2009-08-26.tar.tar"而不是"hw-healthways-prod_2009-08-26.tar", 我遇到这个问题是因为Windows默认隐藏扩展名。


16
尝试执行 Directory.GetFiles(@"C:\logs")。可能存在一些奇怪的字符,导致Windows Explorer (你是从中读取“文件属性”吗?)和.NET Framework解释方式不同。如果文件名中存在UTF-8字符(比如长破折号),就会发生这种情况。

0
您可能需要检查文件权限。您的计算机可能没有访问该文件的权限。

-6

C:\logs\hw-healthways-prod_2009-08-26.tar 应该是 C:\\logs\\hw-healthways-prod_2009-08-26.tar。反斜杠表示下一个字符是转义字符。


13
当字符串以@字符为前缀时,不是这样。 - Daniel Pryden

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接