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

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

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

    原文出处:http://www.cnblogs.com/zhangchenliang/archive/2010/06/17/1759448.html 

  • 相关阅读:
    13,发布CRM
    12,nginx+uWSGI+django+virtualenv+supervisor发布web服务器
    11.2,nginx负载均衡实验
    11.1,nginx集群概念
    11,nginx入门与实战
    10,python开发之virtualenv与virtualenvwrapper
    9.5web service基础知识
    9.4python开发之virtualenv与virtualenvwrapper
    9.3centos7安装python3 以及tab补全功能
    Google 浏览器被劫持怎么办?
  • 原文地址:https://www.cnblogs.com/liushanshan/p/2174509.html
Copyright © 2011-2022 走看看