当然了都需要引入System.IO这个命名空间

第一个:

public static long GetDirectoryLength(string dirPath)
{
//判断给定的路径是否存在,如果不存在则退出
if (!Directory.Exists(dirPath))
return 0;
long len = 0;

//定义一个DirectoryInfo对象
DirectoryInfo di = new DirectoryInfo(dirPath);

//通过GetFiles方法,获取di目录中的所有文件的大小
foreach (FileInfo fi in di.GetFiles())
{
len += fi.Length;
}

//获取di中所有的文件夹,并存到一个新的对象数组中,以进行递归
DirectoryInfo[] dis = di.GetDirectories();
if (dis.Length > 0)
{
for (int i = 0; i < dis.Length; i++)
{
len += GetDirectoryLength(dis.FullName);
}
}
return len;
}

第二个

//也是利用递归的思想,只不过是通过File类的Exits方法来判断

//所给路径中所对应的是否为文件

public static long FileSize(string filePath)
{
long temp = 0;

//判断当前路径所指向的是否为文件
if (File.Exists(filePath) == false)
{
string[] str1 = Directory.GetFileSystemEntries(filePath);
foreach (string s1 in str1)
{
temp += FileSize(s1);
}
}
else
{

//定义一个FileInfo对象,使之与filePath所指向的文件向关联,

//以获取其大小
FileInfo fileInfo = new FileInfo(filePath);
return fileInfo.Length;
}
return temp;
}

其实删除文件夹的思想与这个是一样的,设置要简单很多,只要简单的判断一下当前的是文件还是文件夹,如果是文件则删除.是文件夹则递归

C# 获取文件大小的更多相关文章

  1. 客户端用javascript获取文件大小

    客户端用javascript获取文件大小 1 ie实现代码如下: <script type="text/javascript" language="javascri ...

  2. python获取文件大小

    python获取文件大小 # !/usr/bin/python3.4 # -*- coding: utf-8 -*- import os # 字节bytes转化kb\m\g def formatSiz ...

  3. ios NSFileManager和NSFileHandle(附:获取文件大小 )

    转自 http://blog.csdn.net/zhibudefeng/article/details/7795946 //file 文件操作 NSFileManager  常见的NSFileMana ...

  4. C/C++多种方法获取文件大小(转)

    源码下载:点击下载 源码如下: #include <iostream> #include <io.h> #include <sys\stat.h> #include ...

  5. js获取文件大小

    var file = urlBox.doc.activeElement.files[0]||urlBox.files[0] ; if (file) { var fileSize = 0; if (fi ...

  6. [WinAPI] API 10 [创建、打开、读写文件,获取文件大小]

    在Windows系统中,创建和打开文件都是使用API函数CreateFile,CreateFile通过指定不同的参数来表示是新建一个文件,打开已经存在的文件,还是重新建立文件等.读写文件最为直接的方式 ...

  7. Java获取文件大小的正确方法(转)

    Java中获取文件大小的正确方法 2014-03-28 14:03 64507人阅读 评论(9) 收藏 举报  分类: Java笔记(36)  研究成果(42)  版权声明:本文为博主原创文章,未经博 ...

  8. Android 获取文件大小

    android 获取文件夹.文件的大小 以B.KB.MB.GB 为单位 FileSizeUtil public class FileSizeUtil { ;//获取文件大小单位为B的double值 ; ...

  9. oc 根据文件路径获取文件大小

    第一种封装: -(NSInteger)getSizeOfFilePath:(NSString *)filePath{ /** 定义记录大小 */ NSInteger totalSize = ; /** ...

  10. C++获取文件大小常用技巧

    C++编程语言在程序开发应用中能够帮助我们轻松的完成许多功能需求.比如今天为大家介绍的C++获取文件大小的方法,就可以以多种方式轻松的实现.现在将会实现方法呈现给大家,以便大家参考. C++获取文件大 ...

随机推荐

  1. strrchr()函数

    函数简介 函数名称: strrchr 函数原型:char *strrchr(const char *str, char c); 所属库: string.h 函数功能:查找一个字符c在另一个字符串str ...

  2. 【Linux】crontab 每隔1小时 2小时的执行job写法

    crontab -l crontab -e 每五分钟执行  */5 * * * * 每小时执行     0 * * * * 每2小时执行     0 */2 * * * 每天执行        0 0 ...

  3. Java后端测试概述

    [本文出自天外归云的博客园] 多种单测技术 1. 要学会Spring MVC/Boot测试中自带的mock方法. 2. 学会junit中的方法,对于注解的使用等. 3. 学会使用结合第三方Mockit ...

  4. CentOS7 yum 安装mysql 5.6

    原文:https://www.cnblogs.com/zhangyin6985/p/6307219.html 转自:http://www.centoscn.com/mysql/2016/0315/68 ...

  5. 本质矩阵E求解及运动状态恢复

    为了获取本质矩阵,首先计算基础矩阵F.根据本质矩阵E,即可恢复得到运动的状态R和T. 由可以根据匹配点得到F,然后根据和相机内参,即可得到本质矩阵E.进而根据: 注意:根据摄像机模型t=-RT,恢复运 ...

  6. 命令行todo神器taskwarrior使用简介

    简介 taskwarrior是一个命令行的任务管理神器,同时也有服务端,支持同步. 语法规则为 安装 Linux上可以直接软件包管理器安装 Window可以用cygwin Mac可以用homebrew ...

  7. Bootstrap+Angularjs自制弹框

    指令 directive('bsPopup', function ($parse) { return { require: 'ngModel', restrict: 'A', link: functi ...

  8. Linux下如何查看tomcat是否启动,并杀死重启

    在Linux系统下,遇到过这样的问题,项目中使用 ./shutdown.sh 关闭Tomcat失败 Using CATALINA_BASE: /usr/local/tomcat Using CATAL ...

  9. Python进阶(三十五)-Fiddler命令行和HTTP断点调试

    Python进阶(三十五)-Fiddler命令行和HTTP断点调试 一. Fiddler内置命令   上一节(使用Fiddler进行抓包分析)中,介绍到,在web session(与我们通常所说的se ...

  10. 【微信小程序】tabBar的显示问题

    tabBar不显示 在app.json中配置了4个页面,在tabBar的list中随意写了两个页面,编译后发现不能显示tabBar. { "pages": [ "page ...