获取文件夹大小的方法 ASP.NET
以下内容为转载
1
public long GetDirectoryLength(string dirPath){
2
if(!Directory.Exists(dirPath))
3
return 0;
4
long len=0;
5
DirectoryInfo di=new DirectoryInfo(dirPath);
6
foreach(FileInfo fi in di.GetFiles()){
7
len+=fi.Length;
8
}
9
DirectoryInfo[] dis=di.GetDirectories();
10
if(dis.Length>0){
11
for(int i=0;i<dis.Length;i++){
12
len+=GetDirectoryLength(dis[i].FullName);
13
}
14
}
15
return len;
16
}
17
18
public long GetDirectoryLength(string dirPath){2
if(!Directory.Exists(dirPath))3
return 0;4
long len=0;5
DirectoryInfo di=new DirectoryInfo(dirPath);6
foreach(FileInfo fi in di.GetFiles()){7
len+=fi.Length;8
}9
DirectoryInfo[] dis=di.GetDirectories();10
if(dis.Length>0){11
for(int i=0;i<dis.Length;i++){12
len+=GetDirectoryLength(dis[i].FullName);13
}14
}15
return len;16
}17

18

下面为完整代码例子:
1
<%@Page Language="C#" debug=true%>
2
<%@Import Namespace="System.IO"%>
3
<%@Register TagPrefix="www" Namespace="Wuqi.Webdiyer" Assembly="AspNetDatePicker"%>
4
<script runat="server">
5
void Page_Load(object src,EventArgs e){
6
if(!Page.IsPostBack){
7
Response.Write(GetDirectoryLength(@"C:\inetpub\wwwroot\webdiyer"));
8
}
9
}
10
11
long GetDirectoryLength(string dirPath){
12
if(!Directory.Exists(dirPath))
13
return 0;
14
long len=0;
15
DirectoryInfo di=new DirectoryInfo(dirPath);
16
foreach(FileInfo fi in di.GetFiles()){
17
len+=fi.Length;
18
}
19
DirectoryInfo[] dis=di.GetDirectories();
20
if(dis.Length>0){
21
for(int i=0;i<dis.Length;i++){
22
len+=GetDirectoryLength(dis[i].FullName);
23
}
24
}
25
return len;
26
}
27
28
</script>
29
<HTML>
30
<HEAD>
31
<TITLE> Webdiyer制造:) </TITLE>
32
<META NAME="Generator" CONTENT="EditPlus">
33
<META NAME="Author" CONTENT="Webdiyer">
34
</HEAD>
35
<BODY>
36
<form runat="server">
37
</form>
38
</BODY>
39
</HTML>
40
41
<%@Page Language="C#" debug=true%>2
<%@Import Namespace="System.IO"%>3
<%@Register TagPrefix="www" Namespace="Wuqi.Webdiyer" Assembly="AspNetDatePicker"%>4
<script runat="server">5
void Page_Load(object src,EventArgs e){6
if(!Page.IsPostBack){7
Response.Write(GetDirectoryLength(@"C:\inetpub\wwwroot\webdiyer"));8
}9
}10

11
long GetDirectoryLength(string dirPath){12
if(!Directory.Exists(dirPath))13
return 0;14
long len=0;15
DirectoryInfo di=new DirectoryInfo(dirPath);16
foreach(FileInfo fi in di.GetFiles()){17
len+=fi.Length;18
}19
DirectoryInfo[] dis=di.GetDirectories();20
if(dis.Length>0){21
for(int i=0;i<dis.Length;i++){22
len+=GetDirectoryLength(dis[i].FullName);23
}24
}25
return len;26
}27

28
</script>29
<HTML>30
<HEAD>31
<TITLE> Webdiyer制造:) </TITLE>32
<META NAME="Generator" CONTENT="EditPlus">33
<META NAME="Author" CONTENT="Webdiyer">34
</HEAD>35
<BODY>36
<form runat="server">37
</form>38
</BODY>39
</HTML>40

41




浙公网安备 33010602011771号