C#如何跳过拒绝访问的文件夹继续遍历文件
以下是代码,求修改错误信息:“System.UnauthorizedAccessException”类型的未经处理的异常在mscorlib.dll中发生其他信息:对路径“...
以下是代码,求修改
错误信息:“System.UnauthorizedAccessException”类型的未经处理的异常在 mscorlib.dll 中发生
其他信息: 对路径“c:\Documents and Settings”的访问被拒绝。
public void FindFile(string dirPath)
{
var validExtensions = new[]{".txt"};
string[] files = Directory.GetFiles(dirPath);
string[] childDirectories = Directory.GetDirectories(dirPath);
for (int i = 0; i < files.Length; i++)
{
string extension = Path.GetExtension(files[i]);
if (validExtensions.Contains(extension))
{
Console.WriteLine(files[i]);
listBox1.Items.Add(files[i]);
}
}
for (int i = 0; i < childDirectories.Length; i++)
{
FindFile(childDirectories[i]);
}
} 展开
错误信息:“System.UnauthorizedAccessException”类型的未经处理的异常在 mscorlib.dll 中发生
其他信息: 对路径“c:\Documents and Settings”的访问被拒绝。
public void FindFile(string dirPath)
{
var validExtensions = new[]{".txt"};
string[] files = Directory.GetFiles(dirPath);
string[] childDirectories = Directory.GetDirectories(dirPath);
for (int i = 0; i < files.Length; i++)
{
string extension = Path.GetExtension(files[i]);
if (validExtensions.Contains(extension))
{
Console.WriteLine(files[i]);
listBox1.Items.Add(files[i]);
}
}
for (int i = 0; i < childDirectories.Length; i++)
{
FindFile(childDirectories[i]);
}
} 展开
展开全部
try{}catch{}
catch不做处理,跳过
catch不做处理,跳过
追问
麻烦帮我添到代码里好吗,试了很久都没成功
追答
加在第一个for最前边
DirectorySecurity s = new DirectorySecurity(files[i], AccessControlSections.Access);
//判断目录是否 可以访问
if (!s.AreAccessRulesProtected)
{
continue;
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询