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);
            }
        }



 
 


转载于:https://www.cnblogs.com/dengshiwei/p/4258713.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值