asp.net(C#)中如何获得一个文件夹的大小值(字节)? [ZT]
size.aspx文件代码:
size.aspx.cs后台代码:
<%@ 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>
<!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;
}
}
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;
}
}