asp.net(C#)中如何获得一个文件夹的大小值(字节)? [ZT]

size.aspx文件代码:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="size.aspx.cs" Inherits="size" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    
<title>计算文件夹大小值</title>
</head>
<body>
    
<form id="form1" runat="server">
    
<div>
        
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
    
</div>
    
</form>
</body>
</html>


size.aspx.cs后台代码:

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.IO;
using System.Text;
public partial class size : System.Web.UI.Page
{
    
public int str = 0;
    
protected void Page_Load(object sender, EventArgs e)
    
{
        
if (!IsPostBack)
        
{
            
            
string dpath = Server.MapPath(".");
            Label1.Text 
= getsize(dpath).ToString();
        }


    }

    
private int getsize(string dirp)
    
{
       

        DirectoryInfo mydir 
= new DirectoryInfo(dirp);
        
foreach (FileSystemInfo fsi in mydir.GetFileSystemInfos())
        
{
            
if (fsi is FileInfo)
            
{
                FileInfo fi 
= (FileInfo)fsi;
                str
+=int.Parse(fi.Length.ToString());
            }

            
else
            
{
                DirectoryInfo di 
= (DirectoryInfo)fsi;
                
string new_dir = di.FullName;
                getsize(new_dir);
            }

        }

        
return str;
    }

}

posted @ 2007-09-29 20:41  RobotTech  阅读(957)  评论(0编辑  收藏  举报