c# 操作文件夹问题,先判断是否存在这个文件夹,存在则连同子目录一同删除,然后再创建新的目录,错误:

 我来答
sunlyk
2014-10-24 · TA获得超过202个赞
知道小有建树答主
回答量:326
采纳率:100%
帮助的人:169万
展开全部
"另一进程使用"的意思就是,其他地方已经有Stream读取这个文件,而且改Stream未释放Close().你这里用的是DirectoryInfo我不是特别清楚.请你检查一下有没有这种情况.

另外DirectoryInfo没有用过.不过请你做两件事情用用两个DirectoryInfo对象.if里的内容重写:
if(dirInfo.Exists)
{
dirInfo.Delete(true);
dirInfo = new DirectoryInfo(indexPath);
dirInof.Create();
}

删除的dirInfo已经占用了这个文件夹,所以先关闭这个dirInfo之后再初始化一个dirInfo
更多追问追答
追问


追答
我重现了你的问题.
创建一个文件夹,增加一个文件,打开这个文件.然后尝试删除这个文件夹.
和你一样的错误.
_0.cfs在删除文件夹的代码执行前已经打开了.

请你检查这个文件在哪里打开.请关闭Close()!
注意是文件,不是文件夹!
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友be0af5c
2014-10-24 · TA获得超过175个赞
知道小有建树答主
回答量:263
采纳率:72%
帮助的人:79.4万
展开全部
public static void DeleteFolder1(string dir)

{

foreach (string d in Directory.GetFileSystemEntries(dir))

{

if (File.Exists(d))

{

FileInfo fi = new FileInfo(d);

if (fi.Attributes.ToString().IndexOf("ReadOnly") != -1)

fi.Attributes = FileAttributes.Normal;

File.Delete(d);//直接删除其中的文件

}

else

DeleteFolder(d);////递归删除子文件夹

Directory.Delete(d);

}

}
以前看到过这样一个代码,你试试。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友84cdb66
2014-10-24 · TA获得超过453个赞
知道小有建树答主
回答量:481
采纳率:100%
帮助的人:287万
展开全部
你要删除的文件夹里的文件被打开?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式