gpt4 book ai didi

c# - 使 Directory.GetFiles() 忽略 protected 文件夹

转载 作者:行者123 更新时间:2023-11-30 15:45:38 24 4
gpt4 key购买 nike

我正在使用 Directory.GetFiles() 方法获取要操作的文件列表。例如,当尝试访问 protected 文件夹时,此方法会抛出 UnauthorizedAccessException。我希望它简单地跳过这些文件夹并继续。如何使用 Directory.GetFiles(最好)或其他方法完成此操作?

更新:

这是抛出异常的代码。我要求用户选择一个目录,然后检索文件列表。我注释掉了遍历文件的代码(所以这是现在的整个方法),问题仍然存在。在 Directory.GetFiles() 行抛出异常。

FolderBrowserDialog fbd = new FolderBrowserDialog();
DialogResult dr = fbd.ShowDialog();

if (dr == System.Windows.Forms.DialogResult.Cancel) return;

string directory = fbd.SelectedPath;
string[] files = Directory.GetFiles(directory, "*.html", SearchOption.AllDirectories);

最佳答案

如果您在遍历文件时遇到错误,您可以围绕它抛出一个 try catch,记录错误并继续处理。示例:

foreach(string filePath in Directory.GetFiles(blah))
{
try
{
//do something with file
}
catch(UnauthorizedAccessException ex)
{
//email yourself about exception or just log it somewhere.
}
}

关于c# - 使 Directory.GetFiles() 忽略 protected 文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4998283/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com