zoukankan      html  css  js  c++  java
  • 浏览文件夹时筛过滤选系统无权限、隐藏、系统、临时文件夹

    有时在遍历系统文件夹时,对于系统的隐藏的某些文件无法访问,需要提前判断过滤

    public
    void GetDirectoryFold(string Path,TreeNode rootNode) { DirectoryInfo directory = new DirectoryInfo(rootNode.Tag.ToString()); try { foreach (DirectoryInfo dir in directory.GetDirectories()) { { #region //对系统的、临时的、隐藏文件夹判断筛选不处理 if ((dir.Attributes & FileAttributes.Hidden) == FileAttributes.Hidden) { continue; } else if ((dir.Attributes & FileAttributes.System) == FileAttributes.System) { continue; } else if ((dir.Attributes & FileAttributes.Temporary) == FileAttributes.Temporary) { continue; } else if (dir.Attributes != FileAttributes.Directory) { continue; } if (!hasWriteAccessToFolder(dir.FullName)) { continue; } #endregion else { TreeNode dirNode = new TreeNode(); dirNode.Tag = dir.FullName; dirNode.Text = dir.Name; dirNode.SelectedImageIndex = IconIndex.OpenFold; dirNode.ImageIndex = IconIndex.CloseFold; rootNode.Nodes.Add(dirNode); GetDirectoryFold(dir.FullName, dirNode); } } } } catch(Exception ex) { throw ex; } } #region //判断是否有权限访问文件夹 private bool hasWriteAccessToFolder(string PathFolder) { try { System.Security.AccessControl.DirectorySecurity directorySecurity = Directory.GetAccessControl(PathFolder); return true; } catch (UnauthorizedAccessException) { return false; } } #endregion
  • 相关阅读:
    题解 CF702F 【T-Shirts】
    题解 CF914G 【Sum the Fibonacci】
    CF258D 【Little Elephant and Broken Sorting】
    socket 私有服务端验证方法
    Gateway + Oauth2 + Security认证与授权 [更新中]
    串并转换和并串转换
    序列检测机【转】
    浮点数的定点化
    Verilog实现同步FIFO和异步FIFO
    频率检测计
  • 原文地址:https://www.cnblogs.com/wenjie0904/p/13303750.html
Copyright © 2011-2022 走看看