请问在asp.net里如何获得某一文件夹的大小,不能使用FSO。
解决方案 »
- 如何在后台上传文件到服务器固定位置?
- ◆◆◆◆forms认证问题,奇怪问题,在线等待
- ASPxPivotGrid 求教单击单元格取值问题
- 谁能推荐一下.net 多层开发 的书
- 求JS动态生成的TAB页,并如何与后台数据源绑定
- asp.net 2.0中的gridview中自动分页的效率问题?
- 怎么绕过RequiredFieldValidator的检查
- 关于在DataGrid里的超连接列的onclick事件的绑定的问题??急!!
- 权限判断问题???
- 幫我看看這個checkbox在datagrid中檢測不了值有什麽問題。。。
- 请教WEBSERCICE聊天室架构问题!?谢谢
- IE浏览器中无法执行ASP.NET事件
一个一个文件加起来
如果有子文件夹需要用到递归
/// <summary>
/// 递归读取所有目录大小
/// </summary>
/// <param name="FolderPath">文件目录</param>
/// <param name="size">初始大小</param>
/// <returns>返回字节</returns>
private static long FolderSize(string FolderPath,long size )
{
long Csize = size;
string[] Folder = Directory.GetDirectories(FolderPath);
string[] files = Directory.GetFiles(FolderPath);
int i = 0;
for ( i = 0; i < files.Length ; i++ )
{
try
{
FileAttributes fa = File.GetAttributes( files[i] );
FileInfo f = new FileInfo( files[i] );
Console.WriteLine( files[i] + "大小:" + f.Length );
Csize += f.Length ;
}
catch
{
Console.WriteLine( "读取文件失败" );
}
num++;
}
for ( i = 0; i < Folder.Length ; i++ )
{
FolderSize( Folder[i],Csize );
}
return Csize;
}
#endregion调用方法:
Console.WriteLine( "文件大小:" + FolderSize(Path,0) );
set f = Server.CreateObject("Scripting.FileSystemObject")
f.GetFolder(Path).Size
这样就得到了文件夹的大小了.
不知道.Net有没有更好的方法来实现,而且不用这个FSO