zoukankan      html  css  js  c++  java
  • C#遍历指定路径下的目录

    通过指定路径訪问路径下的文件。在C#的开发中主要利用了Directory类和DirectoryInfo类,简要介绍Directory类中的成员:命名空间

    System.IO 命名空间

    1、CreateDirectory。已重载,用于创建指定路径下的全部文件夹。

    2、Delete,删除指定文件夹。

    3、Exists,确定给定文件夹是否引用磁盘现有文件夹;说白点就是推断路径是否存在;

    4、GetCreationTime,获取文件夹的创建时间和日期;

    4、GetCurrentDirectory,获取应用程序的当前文件夹;

    5、GetDirectories获取指定文件夹下子文件夹的名称。返回值是一个字符串数组。

    6、GetFiles。获取指定路径下的文件名;

    7、GetFileSystemEntries,获取指定路径下全部文件和子文件夹的名称;

    8、GetParent。获取指定路径的父文件夹;

    9、Move,将文件或文件夹移动到新位置;

    (2)简要介绍下DirectoryInfo类的成员:

    1、Create,创建指定文件夹;

    2、Delete,从路径中删除DirectoryInfo和其内容

    3、GetDirectories,获取当前文件夹的子文件夹;

    4、GetFiles。获取当前文件夹下的文件列表;返回FileInfo[]类型的数组;

    5、MoveTo,将 DirectoryInfo 实例及其内容移动到新路径。


    代码实现:

             /// <summary>
            /// 打开文件
            /// </summary>
            private void bePath_Click(object sender, EventArgs e)
            {
                this.MenuList.Nodes.Clear();
                FolderBrowserDialog folderBrowserDialog = new FolderBrowserDialog();
                folderBrowserDialog.Description = "请选择文件夹:";
                if (folderBrowserDialog.ShowDialog() == DialogResult.OK)
                {
                    sPath = folderBrowserDialog.SelectedPath;
                }
    
                if (!string.IsNullOrEmpty(sPath))
                {
                    this.bePath.Text = sPath;
                    TreeListNode ParentNode = this.MenuList.AppendNode(new object[] { sPath }, -1);
                    GetSubFile(sPath, ParentNode);
                    GetSubRoot(sPath, ParentNode);
                }
            }
    

            /// <summary>
            /// 获取路径的集合
            /// </summary>
            /// <param name="sPath"></param>
            private void GetSubRoot(string sFilePath, TreeListNode ParentNode)
            {
                if (string.IsNullOrEmpty(sFilePath))
                {
                    return;
                }
          
                string[] DirectoryList = Directory.GetDirectories(sFilePath);
                foreach (string sDirectory in DirectoryList)
                {
                    ParentNode = this.MenuList.AppendNode(new object[] { sDirectory }, ParentNode);
                    GetSubFile(sDirectory,ParentNode);
                    GetSubRoot(sDirectory,ParentNode);
                }
            }

            /// <summary>
            /// 获取路径下的文件
            /// </summary>
            /// <param name="sSubRootPath"></param>
            /// <param name="ParentNode"></param>
            private void GetSubFile(string sSubRootPath, TreeListNode ParentNode)
            {
                FileInfo[] ArrayileInfo;
                
                DirectoryInfo pDirectoryInfo = new DirectoryInfo(sSubRootPath);
                ArrayileInfo = pDirectoryInfo.GetFiles("*.");
                if (ArrayileInfo.Length < 1)
                {
                    return;
                }
    
                foreach (FileInfo pFileInfo in ArrayileInfo)
                {
                    string sName = pFileInfo.Name;
                    MenuList.AppendNode(new object[] { sName }, ParentNode);
                }
            }



    
    


  • 相关阅读:
    oracle 存储过程深入学习与应用
    程序猿-技术成长-理论方法-实践指导
    PowerDesigner 概念数据模型(CDM)
    关于oracle监听程序的相关问题及解决方法
    代码调试的专业姿势
    新年学习目标,了解所有框架,熟悉部分常用框架,熟练使用其中三个
    ResultSet 处理方法
    JPA 相关API (一)
    从输入 URL 到页面加载完的过程中都发生了什么事情?
    R语言中的if-else语句写法
  • 原文地址:https://www.cnblogs.com/mthoutai/p/7243747.html
Copyright © 2011-2022 走看看