目录的创建与删除

基于B/S结构的信息管理系统中,一般要比普通的网站有更多的技术要求,比如OA系统等。这些系统往往需要直接对系统文件进行操作,比如文件目录的浏览和增删操作、文件的增删操作等。ASP.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目录】后,如果“Testfolder”不为空的情况下,就可以实现对该目录的删除。

posted @ 2010-08-09 11:50  midisong  阅读(196)  评论(0编辑  收藏  举报