• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >C#教程 > C#递归实现显示文件夹及所有文件并计算其大小的方法

C#递归实现显示文件夹及所有文件并计算其大小的方法

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-28

通过本文主要向大家介绍了c#获取文件夹大小,c#打开文件夹,c#创建文件夹,c#选择文件夹对话框,c#判断文件夹是否存在等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

算法中递归的一个典型应用就是遍历目标文件夹,并把该文件夹下的所有文件和文件夹打印或显示出来,还可以递归计算出目标文件夹的总大小。本文即以实例形式展示了C#递归实现显示目标文件夹的所有文件和文件夹,并计算目标文件夹的大小的方法。

具体实现代码如下:

class Program
{
  static void Main(string[] args)
  {
    Console.WriteLine("输入目标文件夹");
    string path = Console.ReadLine();
    FindFoldersAndFiles(path);
    Console.WriteLine("\r\n");
    Console.WriteLine("目标文件夹的总大小为:{0}个字节",GetDirectoryLength(path));
    Console.ReadKey();
  }
 
  //递归目标文件夹中的所有文件和文件夹
  private static void FindFoldersAndFiles(string path)
  {
    Console.WriteLine("文件夹" + path);
    //遍历目标文件夹的所有文件
    foreach (string fileName in Directory.GetFiles(path))
    {
      Console.WriteLine("┣" + fileName);
    }
 
    //遍历目标文件夹的所有文件夹
    foreach (string directory in Directory.GetDirectories(path))
    {
      FindFoldersAndFiles(directory);
    }
  }
 
  //递归计算文件夹大小
  static long GetDirectoryLength(string path)
  {
    if (!Directory.Exists(path))
    {
      return 0;
    }
 
    long size = 0;
 
    //遍历指定路径下的所有文件
    DirectoryInfo di = new DirectoryInfo(path);
    foreach (FileInfo fi in di.GetFiles())
    {
      size += fi.Length;
    }
 
    //遍历指定路径下的所有文件夹
    DirectoryInfo[] dis = di.GetDirectories();
    if (dis.Length > 0)
    {
      for (int i = 0; i < dis.Length; i++)
      {
        size += GetDirectoryLength(dis[i].FullName);
      }
    }
 
    return size;
  }
}

</div>

如上图所示,即为本文实例在遍历目标文件夹时,使用递归显示目标文件夹下所有文件夹和文件,并使用递归计算目标文件夹的总大小。

希望对大家学习C#的算法有一定帮助。

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • C#实现获取文件夹大小的方法
  • C#递归实现显示文件夹及所有文件并计算其大小的方法
  • C#获取文件夹及文件的大小与占用空间的方法

相关文章

  • 2017-05-28C#实现ComboBox自动匹配字符
  • 2017-05-28深入解析C#中的泛型类与泛型接口
  • 2017-05-28C#递归实现显示文件夹及所有文件并计算其大小的方法
  • 2017-05-28怎么利用c#修改services的Startup type
  • 2017-05-28C#非矩形窗体实现方法
  • 2017-05-28C#使用ToUpper()与ToLower()方法将字符串进行大小写转换的方法
  • 2017-05-28C#实现图片分割方法与代码
  • 2017-05-28将DataTable转换成List&lt;T&gt;实现思路及示例代码
  • 2017-05-28.net的序列化与反序列化实例
  • 2017-05-28C# Main方法的传入参数研究

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • DevExpress设置FocusedNode背景色的方法
    • 解析C#中的ref和out参数
    • WPF绑定实例详解
    • 使用mutex实现应用程序单实例运行代码分享
    • C#使用Parallel类进行多线程编程实例
    • 使用代理模式来进行C#设计模式开发的基础教程
    • C#开发之Socket网络编程TCP/IP层次模型、端口及报文等探讨
    • c#继承与多态使用示例
    • C#操作本地文件及保存文件到数据库的基本方法总结
    • 浅析C# 基础语法的使用

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有