我目前正在开发工具,它将删除我的临时文件夹中的内容,并且我已经删除文件,例如文本文件和文件夹,但是如何删除文件和JPG等文件呢?有可能吗?
这是我目前的代码
private void Clear_Click(object sender, EventArgs e)
{
string tempPath = Path.GetTempPath();
DirectoryInfo di = new DirectoryInfo(tempPath);
foreach (DirectoryInfo dir in di.GetDirectories())
{
try
{
dir.Delete(true);
}
catch (Exception)
{
// Log error.
continue;
}
}
foreach (FileInfo file in di.GetFiles())
{
try
{
file.Delete();
}
catch (Exception)
{
// Log error.
continue;
}
}
}
答案 0 :(得分:4)
DirectoryInfo.GetFiles()
可以接受搜索模式参数。
foreach (FileInfo file in di.GetFiles("*.jpg"))
{
file.Delete();
}
这会删除任何扩展名为.jpg
的文件。您可以对.rar
我建议创建一种方法来执行此操作。
public void DeleteFiles(DirectoryInfo di, string searchPattern)
{
foreach (FileInfo file in di.GetFiles(searchPattern))
{
file.Delete();
}
}
一旦创建了这个,你就可以这样了。
DeleteFiles(di, "*.jpg");
如果您有所需的所有扩展名列表,可以循环使用它们。
string[] extentionList = new[] {"*.jpg", "*.rar", "*.bmp", "*.gif"};
foreach (string extension in extentionList)
{
DeleteFiles(di, extension);
}
如果您将在各种地方使用此功能,将其转换为DirectoryInfo
扩展方法将是最佳选择。