• 遍历文件夹的方法


    只遍历子文件夹和根文件夹下面文件目录的方法:

     DirectoryInfo theFolder = new DirectoryInfo(@"E:工作Work");//文件的操作类
    
                FileInfo[] fileRootInfo = theFolder.GetFiles();//返回当前根目录的文件
                foreach (FileInfo NextFile in fileRootInfo) 
                {
                    this.listBox1.Items.Add(NextFile.Name);//遍历文件
                }  
                   
                DirectoryInfo[] dirInfo = theFolder.GetDirectories();//返回当前文件子目录
                //遍历文件夹
                foreach (DirectoryInfo NextFolder in dirInfo)
                {
                   // this.listBox2.Items.Add(NextFolder.Name);
                    FileInfo[] fileInfo = NextFolder.GetFiles();//返回当前文件子目录的文件
                    foreach (FileInfo NextFile in fileInfo)  //遍历文件
                        this.listBox2.Items.Add(NextFile.FullName);
                    
                }

    递归遍历文件夹下面所有的文件夹的子类目录:

      public ArrayList al = new ArrayList();
            //我把ArrayList当成动态数组用
            public void GetAllDirList(string strBaseDir)
            {
                DirectoryInfo di = new DirectoryInfo(strBaseDir);
                DirectoryInfo[] diA = di.GetDirectories();
                for (int i = 0; i < diA.Length; i++)
                {
                    al.Add(diA[i].FullName);
                    //diA[i].FullName是某个子目录的绝对地址,把它记录在ArrayList中
                    GetAllDirList(diA[i].FullName);
                    //注意:递归了。逻辑思维正常的人应该能反应过来
                }
    
                for (int i = 0; i < al.Count; i++)
                {
                    this.listBox1.Items.Add(al[i].ToString() + " ");
                    //textBox1是容器,拷贝我的代码,注意要换一个你自己的容器
                }
            }

     第三法:

    var dirSource = Directory.GetFiles(@"E:工作Work", "*.xls", SearchOption.AllDirectories);
    
                foreach(string str in dirSource)
                {
                    string result = Regex.Match(str,@"[^\]+$").Value;
                    this.listBox1.Items.Add(result + " ");
                }

    第一参数是路径

    第二参数是用于指定搜索操作是应包含所有子目录还是仅包含当前目录的枚举值之一。

    第三参数的解释如下:

     // 摘要: 
        //     指定是搜索当前目录,还是搜索当前目录及其所有子目录。
        [Serializable]
        [ComVisible(true)]
        public enum SearchOption
        {
            // 摘要: 
            //     仅在搜索操作中包括当前目录。
            TopDirectoryOnly = 0,
            //
            // 摘要: 
            //     在搜索操作中包括当前目录和所有它的子目录。 此选项在搜索中包括重解析点,比如安装的驱动器和符号链接。
            AllDirectories = 1,
        }
  • 相关阅读:
    64位内核开发第十二讲,进程监视,ring3跟ring0事件同步.
    64位内核开发第十讲,IRQL中断级别了解
    64位内核开发第九讲,注册表编程.
    64位内核开发第8讲,文件操作.以及删除文件.
    64位内核第七讲.内核中字符串编程注意事项
    【Unity】7.5 移动设备输入
    【Unity】7.4 游戏外设输入
    【Unity】7.3 键盘输入
    【Unity】7.2 鼠标输入
    【Unity】7.1 Input类的方法和变量
  • 原文地址:https://www.cnblogs.com/llcdbk/p/4389488.html
Copyright © 2020-2023  润新知