C#删除指定文件

本文介绍如何使用C#编程语言实现删除指定路径下的特定文件(如tm.jpg)及文件夹内所有特定格式(如.gif)的图片。通过实例展示了如何获取文件的绝对路径,并利用System.IO命名空间下的File和Directory类来完成删除操作。

1 根据该文件绝对路径进行删除

 // 返回与指定虚拟路径相对应的物理路径即绝对路径
 string filePath = Server.MapPath("/bs/assets/img/tm.jpg");
 // 删除该文件
 System.IO.File.Delete(filePath);

2 删除该文件夹中所有 .gif 格式的图片

 // 返回与指定虚拟路径相对应的物理路径即绝对路径
string filePath = Server.MapPath("/bs/assets/img/");
DirectoryInfo folder = new DirectoryInfo(filePath); 
//获取文件夹下所有的文件
FileInfo[] fileList = folder.GetFiles();
foreach (FileInfo file in fileList)
{
    //判断文件的扩展名是否为 .gif
    if (file.Extension == ".gif")
    {
         file.Delete();  // 删除
    }   
}

C#中,实现删除指定文件有多种方法,以下为你详细介绍: ### 删除单个指定文件 若要删除单个指定文件,可先判断文件是否存在,若存在则将其删除。示例代码如下: ```csharp string strFilePath = @"c:\ttt\ttt.txt"; if (File.Exists(strFilePath)) { File.Delete(strFilePath); } ``` 此代码先使用`File.Exists`方法判断文件是否存在,若存在则调用`File.Delete`方法将其删除 [^1]。 ### 循环删除指定后缀文件 若要删除指定文件夹中指定后缀的文件,可使用`Directory.GetFiles`方法获取指定后缀的文件列表,再循环删除这些文件。示例代码如下: ```csharp string[] path = Directory.GetFiles(@"D:\Music\beyond经典歌曲精选", "*.mp3"); foreach (string item in path) { File.Delete(item); } Console.WriteLine("删除指定后缀文件成功"); ``` 上述代码通过`Directory.GetFiles`方法获取指定文件夹中所有`.mp3`文件的路径,再使用`foreach`循环遍历并调用`File.Delete`方法删除这些文件 [^2]。 ### 根据文件名前缀删除文件 若要删除文件夹里文件名以特定前缀开头的文件,可使用`Directory.GetFileSystemEntries`方法获取文件夹中的所有文件文件夹,再判断文件名是否以指定前缀开头,若是则删除文件。示例代码如下: ```csharp using System.IO; foreach (string d in Directory.GetFileSystemEntries(fileName)) { if (File.Exists(d)) { string me = Path.GetFileNameWithoutExtension(d); if (me.StartsWith("B")) { File.Delete(d); } } } ``` 代码中,`Directory.GetFileSystemEntries`方法获取指定文件夹中的所有文件文件夹,`Path.GetFileNameWithoutExtension`方法获取文件名(不包含扩展名),`StartsWith`方法判断文件名是否以`B`开头,若是则调用`File.Delete`方法删除文件 [^5]。 ### 根据保存时间删除文件 若要根据文件的保存时间删除文件,可先获取当前日期,再根据保存天数筛选出需要保留的文件,最后删除不在保留范围内的文件。示例代码如下: ```csharp var nowDate = DateTime.Now; int saveDays = 7; // 假设保存7天 if (saveDays >= 0) { var saveFileFolderList = new List<string>(); for (int i = 0; i < saveDays; i++) { var saveFile = DateTime.Now.AddDays(-i).ToString("yyyyMMdd"); saveFileFolderList.Add(saveFile); } string strPathDir = @"D:\YourFolder"; if (Directory.Exists(strPathDir)) { var di = new DirectoryInfo(strPathDir); var fsiArr = di.GetFileSystemInfos(); foreach (var fsi in fsiArr) { if (fsi is FileInfo) { if (!saveFileFolderList.Exists(o => fsi.Name.Contains(o))) { File.Delete(fsi.FullName); } } } } } ``` 上述代码先计算出需要保留的文件的日期列表,再获取指定文件夹中的所有文件文件夹,判断文件是否在保留范围内,若不在则调用`File.Delete`方法删除文件 [^3]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值