C#下利用堆栈删除文件夹的算法

在模拟CMD的RD命令时,遇到C#中Delete方法只能删除空文件夹的问题。通过创建堆栈来模拟递归,依次删除文件夹及其子目录中的所有文件。首先将目标文件夹路径放入堆栈,然后遍历并删除堆栈中的非空目录,同时清空子目录下的所有文件。
摘要由CSDN通过智能技术生成

 老师布置了个作业要模拟CMD的一些功能~其中做RD命令,即删除某文件夹的时候发现,C#默认的Delete只对空文件夹有效,网上虽然有不少递归算法,但因为跟模拟CMD的其他功能不是很合,所以参考了一下,写了这个算法。原理很简单,就是用堆栈模拟了递归的功能~呵呵

string tFilePath = "C://WINDOWS";//tFilePath 是准备删除的文件夹的路径

Stack st = new Stack ( );//存放目录地址的堆栈

if ( Directory . Exists ( tFilePath ) )

{

//由于Delete()方法仅能用于空目录

//所以利用堆栈模拟递归,清空目录及子目录下所有的文件

//并将所有目录的路径压入堆栈

st . Push ( tFilePath );

while ( st . Count != 0 )

{ </

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值