社区
C#
帖子详情
C# 怎么取得指定文件夹下文件个数 和 所有文件大小
一鸣惊人
2012-01-05 02:40:47
C# 新手, 谢谢大牛们 ,
讲细点
...全文
796
5
打赏
收藏
C# 怎么取得指定文件夹下文件个数 和 所有文件大小
C# 新手, 谢谢大牛们 , 讲细点
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
cfvgodot
2012-01-05
打赏
举报
回复
- -# 楼上的几个回答此类月经贴都已经量产化了……
libolei
2012-01-05
打赏
举报
回复
递归啊
private void btnFolderSize_Click(object sender, EventArgs e)
{
m_listShowInfo = new List<string>();
m_fileCount = 0;
RecurrenceFolderSize(@"K:\");
m_listShowInfo.Sort();
this.lbNoUseImg.DataSource = m_listShowInfo;
}
List<string> m_listShowInfo = new List<string>();
private long RecurrenceFolderSize(string Ppath)
{
DirectoryInfo getFolder = new DirectoryInfo(Ppath);
FileInfo[] getFileInfos = getFolder.GetFiles();
long folderSize = 0;
int fileCount = getFileInfos.Length;
for (int i = 0; i < fileCount; i++)
{
FileInfo nowFileInfo = getFileInfos[i];
folderSize += nowFileInfo.Length;
m_fileCount++;
this.lblShow.Text = m_fileCount + " " + nowFileInfo.FullName;
Application.DoEvents();
}
DirectoryInfo[] getFolders = getFolder.GetDirectories();
int childFolderCount = getFolders.Length;
for (int i = 0; i < childFolderCount; i++)
{
DirectoryInfo nowFolder = getFolders[i];
string nowFolderName = nowFolder.FullName;
folderSize += RecurrenceFolderSize(nowFolderName);
}
m_listShowInfo.Add(string.Format("{0} 文件夹大小:{1},文件个数:{2},文件夹个数:{3}.", Ppath, folderSize, fileCount, childFolderCount));
return folderSize;
}
crackdung
2012-01-05
打赏
举报
回复
文件類控件
http://www.ssware.com/megapack.htm
熙风
2012-01-05
打赏
举报
回复
public static float length = 0;//文件总大小
public int dirNum = 0; //文件目录个数
public int fileNum = 0; //文件个数
//绑定文件大小
public void binder()
{
string fileName = Server.MapPath("Dir/" + Session["UserName"].ToString());
length = Convert.ToSingle(GetDirectoryLength(fileName));
string size = "0";
if (length < 1024)
{
size = string.Format("{0:N0}", length) + "B";
}
else if (length > 1024)
{
if (length < 1048576)
{
size = string.Format("{0:N1}", length / 1024) + "KB";
}
else
{
size = string.Format("{0:N2}", length / 1048576) + "MB";
}
}
Response.Write(size);
}
//获取文件夹大小总和
public 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;
}
fileNum += di.GetFiles().Length;
//获取di中所有的文件夹,并存到一个新的对象数组中,以进行递归
DirectoryInfo[] dis = di.GetDirectories();
dirNum += dis.Length;
if (dis.Length > 0)
{
for (int i = 0; i < dis.Length; i++)
{
len += GetDirectoryLength(dis[i].FullName);
}
}
return len;
}
stonespace
2012-01-05
打赏
举报
回复
用DirectoryInfo.GetFiles可以获得所有文件,大小可以用FileInfo.Legth获得,
C#
编程学习26: 获取
指定
文件
或
文件
夹
的大小和占用空间
介绍了获取
文件
大小
和占用空间的计算方法和源码
C#
源代码:检索
指定
文件
夹
及其子
文件
夹
下的所有
文件
在
C#
中,命名空间是组织代码的一个重要概念,它提供了一种将相关类、接口、结构、委托和枚举组合在一起的方式。System.IO命名空间是一个非常重要的命名空间,它包含了各种用于
文件
系统操作的类和接口,例如
文件
的读取、写入、复制、移动、删除以及目录的创建、删除、枚举等等。通过这些类和接口,开发者能够实现对
文件
系统中的
文件
和目录进行读写操作,满足各种应用场景的需要。System.IO命名空间不仅提供了一组丰富的API来操作
文件
系统,还通过其结构帮助开发者保持代码的组织性和可维护性。
C#
读取
指定
文件
夹
中的所有
文件
C#
遍历
指定
文件
夹
中的所有
文件
DirectoryInfo TheFolder=new DirectoryInfo(folderFullName); //遍历
文件
夹
foreach(DirectoryInfo NextFolder in TheFolder.GetDirectories()) this.listBox1.Items.Add(NextFolder.Name); //遍历
文件
fore...
C#
得到
文件
夹
及
文件
大小
using System;using System.Text;using System.Runtime.InteropServices;using System.IO;namespace ConsoleApplication1...{ /**//// /// Class1 的摘要说明。 /// class Class1 ...{ private
C#
文件
大小
换算
原文地址:http://gis-conquer.blog.sohu.com/117812977.html 开发中有时候会遇到获取
文件
大小
的功能。这里介绍下: (1)获取
文件
的字节长度 /// /// 获取
文件
大小
/// /// /// public static long
C#
111,128
社区成员
642,536
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章