我正在使用C#winform,我想搜索文件夹中的特定文件,我想删除它。 我怎样才能做到这一点。我正在尝试使用以下代码。
private void button4_Click(object sender, EventArgs e)
{
string Filename = img_path.Text; // here i have the filename "sample.grf"
if (Directory.GetFiles(@"E:\Debug").Where(x => x.Name == Filename).Any()) // getting error here
{
// i want to search here in above folder and delete the file.. how to do this
System.IO.File.Delete(/dont know how to delte the particular file);
}
}
请帮忙
答案 0 :(得分:4)
这就是这样做的:
File.Delete(Path.Combine(@"E:\Debug", Filename));
无需先检查文件是否存在。如果没有,File.Delete
将无所事事。
如果您可能有任何安全问题(例如用户输入..\SomethingElse\Important.doc
),则需要确保该字段仅包含文件名。一种方法是:
if (Filename.ToCharArray().Intersect(Path.GetInvalidFileNameChars()).Any())
return;
所以你的整个功能可能看起来像这样:
private void button4_Click(object sender, EventArgs e)
{
string Filename = img_path.Text;
if (string.IsNullOrEmpty(Filename))
return;
if (Filename.ToCharArray().Intersect(Path.GetInvalidFileNameChars()).Any())
return;
File.Delete(Path.Combine(@"E:\Debug", Filename));
}
此外,button4_Click
不是一个非常友好的名称。您可能需要考虑将按钮和该功能重命名为有意义的内容。
答案 1 :(得分:2)