如何删除没有扩展名的文件?

c#

我正在开发一个程序,程序应该删除缓存。唯一的问题是缓存中的所有文件都没有扩展名,并且总是在我尝试删除这些文件时出现异常:The access to the path 'path' was denied.所以我不知道为什么会发生此错误,因为我正在尝试删除文件而不是目录。我认为由于缺少扩展名,它无法将文件识别为文件。我已经尝试过:

DirectoryInfo cache = new DirectoryInfo(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + @"Cache");
Console.WriteLine("Deleting Cache...");
foreach (var fi in cache.GetFiles())
{
    File.Delete(cache + @"" + fi.Name);
    Console.WriteLine(cache + @"" + fi.Name);
}
Console.ReadKey();

我还能尝试什么?

回答

您的文件似乎仍处于打开状态,因此您无法删除它。但是,我原来的答案仍然适用:

由于您已经有了DirectoryInfo,您不需要连接字符串来获取文件名,只需使用FileInfo.Delete

foreach (var fi in cache.GetFiles())
{
    fi.Delete();
}

无论如何,您应该避免连接字符串以构建路径,请使用Path.Combine

DirectoryInfo cache = new DirectoryInfo(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "Cache"));


以上是如何删除没有扩展名的文件?的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>