P.NET为程序员们提供了丰富的文件操作接口,根据提供的接口可以高效地实现需求中的功能。
ASP.NET中的文件操作主要应用了System.IO命名空间中的几个类:Directory类、file类、StreamReader类等。我们知道,在进行Web方式的系统文件操作时候,像进行数据库的数据操作一样,在进行文件操作之前,必须确保有必要的文件操作权限。
10.1 目录的操作
10.1.1 目录创建和删除
使用ASP.NET程序来管理文件或目录有多种方法,比如Directory.CreateDirectory,DirectoryInfo.Create等方法来创建一个目录,这里我们使用Directory类的CreateDircetory方法来创建一个目录。
使用Visual Studio.net 2003来创建一个Web 应用程序命名为FilesCon,新建一个窗体,命名为DirCon_Sample1.aspx,并添加两个Button控件。DirCon_Sample1.aspx主要HTML代码如下:
<form id=Form1 method=post runat=server>
<FONT face=宋体>
<asp:Button id=Button1
runat=server
Text=新建Testfolder目录
Width=120px Height=32px>
</asp:Button>
<asp:Button id=Button2
runat=server
Text=删除Testfolder目录
Width=113px Height=32px>
</asp:Button>
</FONT>
</form>
DirCon_Sample1.aspx.vb中的逻辑代码如下:
-------code begin-----
Imports System.IO
Imports System.IO.Directory
Imports System.Web.UI
Public Class WebForm1
Inherits System.Web.UI.Page
#Region Web 窗体设计器生成的代码
此处省略了窗体设计器生成的代码
#End Region
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
在此处放置初始化页的用户代码
End Sub
新建目录过程
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
声明Directory类
Dim dircre As System.IO.Directory
声明文件目录的路径,改路径为物理绝对路径
Dim dir As String = Server.MapPath(.) + \Testfolder\
Try
判断该文件目录是否存在
If Not dircre.Exists(dir) Then
利用Directory类的CreateDirectory方法创建该目录
dircre.CreateDirectory(dir)
弹出对话框,提示创建成功!
Response.Write(<script> alert(Testfolder目录已经成功创建!);</script>)
Else
Response.Write(<script> alert(Testfolder目录已经存在!);</script>)
End If
Catch ex As Exception
Response.Write(程序执行出,信息描述如下:<br> & ex.Message)
End Try
End Sub
删除目录过程
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
声明Directory类
Dim dircre As System.IO.Directory
声明文件目录的路径,改路径为物理绝对路径
Dim dir As String = Server.MapPath(.) + \Testfolder\
Try
判断该文件目录是否存在
If dircre.Exists(dir) Then
利用Directory类的CreateDirectory方法删除该目录
Directory类的Delete方法只能删除空目录,当该目录内有文件时,删除就会出错!
dircre.Delete(dir)
dircre.CreateDirectory(dir)
弹出对话框,提示创建成功!
Response.Write(<script> alert(Testfolder目录已经成功删除!);</script>)
Else
Response.Write(<script> alert(Testfolder目录不存在!);</script>)
End If
Catch ex As Exception
Response.Write(程序执行出,信息描述如下:<br> & ex.Message)
End Try
End Sub
End Class
-------code end-----
保存编译后,DirCon_Sample1.aspx的运行结果如图10.1所示。

图10.1
在单击按钮【新建Testfolder目录】后,在FilesCon目录下,就会新建一个名为“Testfolder”的目录,单击按钮【删除Testfolder