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

时间:2021-04-15 06:48:35

标签: 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();

我还能尝试什么?

1 个答案:

答案 0 :(得分:5)

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

既然你已经有了一个 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"));
相关问题