.net提供了一个静态类Directory 用以处理文件夹相关 *** 作 要删除指定路径下的文件和文件夹的话 可以使用Directory.Exists方法判断该路径是否存在 如果存在使用Directory.GetDirectories获取该路径下所有子文件夹 通过遍历使用Directory.Delete方法删除 再通过Directory.GetFiles获取该路径下所有文件 遍历使用File.Delete方法删除 具体代码如下
if(Directory.Exists(yourPath)){
//获取指定路径下所有文件夹
string[] folderPaths = Directory.GetDirectories(yourPath)
foreach(string folderPath in folderPaths)
Directory.Delete(folderPath, true)
//获取指定路径下所有文件
string[] filePaths = Directory.GetFiles(yourPath)
foreach(string filePath in filePaths)
File.Delete(filePath)
}
如果你需要连你指定的文件夹一起删除 就简单的多 如下
if(Directory.Exists(yourPath))Directory.Delete(yourPath,true)
上述两例中的yourPath应为指定文件夹的路径 如: D:\test 第一例则会删除test文件夹下的所有子项 第二例则是test文件夹及其子项一起删除 需要注意的是Directory.Delete方法有两个重载 举例说明:
Directory.Delete(yourPath) //如果yourPath有子项 则删除失败 抛出异常Directory.Delete(yourPath,true) //第二个为bool类型参数 表示是否需要使用递归删除
补充说明 如果只是需要删除文件 就使用File类 如下
if(File.Exists(filePath))File.Delete(filePath)
上例中的filePath为文件的完整路径 如: C:\test\test.txt
界面布置主界面设计中有个“删除”按钮,其(ID)为btnDelete。用户在目录浏览中选中要删除的项后,单击该按钮就可以完成删除工作。代码实现在“设计”面板中双击“删除”按钮,为其添加事件处理程序如下: private void BtnDelete_Click(object sender, System.EventArgs e) { DeleteThings(FileList.SelectedItem.Text)} private void DeleteThings(string FullPath) { if(FullPath.IndexOf(".")>0) //删除文件 { File.Delete(FullPath)LoadDir(CurrentPath)//重新载入当前目录 } else //删除目录 { Directory.Delete(FullPath)LoadDir(CurrentPath)//重新载入当前目录 } } 删除时首先判断选中的是文件还是文件夹。如果是文件,则调用File.Delete()方法;反之则调用Directory.Delete()方法。删除成功后再调用LoadDir()方法显示更改后的目录内容。stringPath//路径if(System.IO.Directory.Exists(Path))
{
//Searchthedirectory
DirectoryInfodi=newDirectoryInfo(Path)
FileInfo[]f=di.GetFiles("*.xls")//文件夹下的.xls文件
//FileInfo[]f=di.GetFiles()//文件夹下所有文件
foreach(FileInfomyFileinf)
{
myFile..Delete()//删除这个文件就可以了
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)