首页 / 问答 / C#/.NET/.NET Core应用程序编程开发中如何使用递归列举出一个指定文件夹(目录)中的所有文件呢?

C#/.NET/.NET Core应用程序编程开发中如何使用递归列举出一个指定文件夹(目录)中的所有文件呢?

.NET C# 文件 文件夹 .NET Core 2.35K 次浏览
0

如题,在C#/.NET/.NET Core应用程序编程开发中,如何使用递归列举出一个指定文件夹(目录)中的所有文件呢?

回复 [×]
提交评论
请输入评论内容

4 个回答

  • 0

    在C#/.NET的应用程序编程开发中,Directory类提供了读取文件夹和文件所需要常用方法,比如:Directory.GetDirectories()Directory.GetFiles()方法可以分别读取指定文件夹和文件的相关信息,那么我们可以使用递归,再调用这两个方法即可实现列举一个任意指定文件夹中的所有文件的操作,如下:

    Rector的个人主页

    Rector

    2020-04-08 回答

    • 0

      在.NET 4.0及以上版本中,还提供了更加简捷的读取指定文件夹中所有文件的方法Directory.EnumerateFiles(),使用示例如下:

      直接使用以上.NET内置的方法虽然比较快捷,但如果需要考虑性能,则可以自己改造,这里使用了队列来尽量避免过多的堆栈递归,示例如下:

      Rector的个人主页

      Rector

      2020-04-08 回答

      • 0

        在.NET 4.5及以上版本,Directory.GetFiles()除了可以快速地递归列举指定文件夹(目录)的所有文件外,还可指定文件过滤的表达式参数,如下:

        调用示例:

        Rector的个人主页

        Rector

        2020-04-08 回答

        • 0

          使用LINQ的快速实现方式:

          Rector的个人主页

          Rector

          2020-04-08 回答

          我来回答