文件未找到例外..但它就在那里

Nic*_*ick 17 .net c# file

嘿,这将是一个愚蠢的问题.我试图在我的本地系统上获取一个文件,然后我不断被FileNotFoundException抛出.

有人让我直接请:)

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

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

 if( File.Exists("hw-healthways-prod_2009-08-26.tar"))
Run Code Online (Sandbox Code Playgroud)

一样.

然后我做了一个随机的txt文件并把它停在那里.."me.txt"

它有效吗?!那么你的文件名是什么问题?

Dan*_*den 14

试着做Directory.GetFiles(@"C:\logs").有问题的文件可能有奇怪的字符,这些字符会被Windows资源管理器以某种方式解释(可能是你从"文件的属性"读取的地方?)但是.NET Framework采用了不同的方式.如果文件名中包含UTF-8字符(可能是短划线?),就会发生这种情况.

  • +1因为这个问题困扰了我几个小时.由于我在Windows资源管理器中创建了文件,并选择隐藏文件扩展名,因此我的文件实际上被称为"file1.html.txt"而不是我想要的"file1.html". (4认同)

i31*_*nGo 11

可能是文件的名称是"hw-healthways-prod_2009-08-26 .tar.tar "而不是"hw-healthways-prod_2009-08-26 .tar ",我有这个问题,因为默认情况下扩展文件是藏在窗户上