zoukankan      html  css  js  c++  java
  • C# 获取文件大小

    当然了都需要引入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;
    }

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

  • 相关阅读:
    登录界面点击登录后如何延迟提示成功的div的显示时间并跳转
    关于如何用jq定位到某个元素的索引
    总结React关于require的问题
    关于React的赋值与调用方法
    React项目搭建(脚手架)
    关于th,td,tr的一些相关标签
    一个IP多个https站点配置
    ubuntu配置apache的虚拟主机
    putty如何使用
    CI基本配置
  • 原文地址:https://www.cnblogs.com/testsec/p/6095742.html
Copyright © 2011-2022 走看看