免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
ASP.NET:目錄的遍歷
文件目錄的遍歷操作是相對(duì)復(fù)雜一點(diǎn),原理是利用Directory類(lèi)的GetDirectories方法和GetFiles方法,進(jìn)行循環(huán)讀取文件或是子目錄的操作。我們結(jié)合實(shí)例來(lái)介紹一下。

    10.1.2 目錄的遍歷

    在FilesCon項(xiàng)目里新建一個(gè)Web窗體,命名為DirCon_Sample2.aspx,添加四個(gè)Label標(biāo)簽控件用于顯示信息,添加三個(gè)ListBox控件分別用于顯示驅(qū)動(dòng)器、文件目錄、文件信息。

    DirCon_Sample2.aspx頁(yè)面的主要HTML代碼如下:

<form id="Form1" method="post" runat="server">
   <FONT face="宋體">
    <asp:ListBox id="filelist"  runat="server"   Width="128px"
Height="120px" Font-Size="X-Small"></asp:ListBox>
    <asp:Label id="Label4" runat="server"
     Width="64px" Font-Size="X-Small" BackColor="#E0E0E0">磁盤(pán)列表</asp:Label>
    <asp:Label id="Label3" srunat="server"
     Width="96px" Font-Size="X-Small" BackColor="#E0E0E0">目錄列表</asp:Label>
    <asp:ListBox id="dirlist" runat="server"
     Width="112px" Height="120px" AutoPostBack="True" Font-Size="X-Small"></asp:ListBox>
    <asp:Label id="Label1"runat="server"
     Width="320px" Height="56px" Font-Size="X-Small" BackColor="#E0E0E0">當(dāng)前路徑</asp:Label>
    <asp:Label id="Label2" srunat="server"
     Width="88px" Font-Size="X-Small" BackColor="#E0E0E0">文件列表</asp:Label>
    <asp:ListBox id="disklist" runat="server"
     Width="72px" Height="120px" AutoPostBack="True" Font-Size="X-Small"></asp:ListBox>
</FONT>
</form>

DirCon_Sample2.aspx的主要邏輯代碼如下:

‘------code begin---------
‘----省略命名空間引用
Public Class DirCon_Sample2
    Inherits System.Web.UI.Page
#Region " Web 窗體設(shè)計(jì)器生成的代碼 "
    ‘此處省略窗體設(shè)計(jì)器生成的代碼#End Region
    ‘聲明公用變量 Directory類(lèi) 和字符串變量
    Public mydir As System.IO.Directory
    Public str As String
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        ‘在此處放置初始化頁(yè)的用戶(hù)代碼
        ‘第一次加載窗體時(shí),初始化各控件默認(rèn)信息
        ‘我們?cè)O(shè)計(jì)為初始化時(shí)候,讀取第一個(gè)驅(qū)動(dòng)器的目錄和文件信息
        ‘由于目錄層次有不確定性,為了便于實(shí)例說(shuō)明,我們只讀取磁盤(pán)一下兩層目錄信息
        If Not IsPostBack Then
            getdisk()
            getdir(disklist.Items(0).Text)
            getfiles(disklist.Items(0).Text)
        End If
End Sub
    ‘獲取系統(tǒng)驅(qū)動(dòng)器信息的通用過(guò)程,并把信息加載到disklist控件中
    Sub getdisk()
        disklist.Items.Clear()
        ‘利用Directory類(lèi)的GetLogicalDrives方法獲取系統(tǒng)驅(qū)動(dòng)器信息
        ‘并循環(huán)讀出,加載到disklist控件中
        For Each str In mydir.GetLogicalDrives()
            disklist.Items.Add(str)
        Next
End Sub
    ‘獲取文件目錄的通用過(guò)程,并把獲取的信息加載到dirlist控件中
    Sub getdir(ByVal dirpath As String)
        dirlist.Items.Clear()
        ‘利用Directory類(lèi)的GetDirectories方法獲取目錄信息
        ‘并循環(huán)讀出,加載到dirlist控件中
        Try
            For Each str In mydir.GetDirectories(dirpath)
                dirlist.Items.Add(str)
            Next
        Catch ex As Exception
            Label1.Text = "程序出錯(cuò)!<br>" & ex.Message
        End Try
End Sub
    ‘獲取文件目錄中文件信息的通用過(guò)程,并把獲取的信息加載到filelist控件中
    Sub getfiles(ByVal dirpath As String)
        filelist.Items.Clear()
        ‘利用Directory類(lèi)的getfiles方法獲取目錄中所有的文件信息
        ‘并循環(huán)讀出,加載到filelist控件中
        Try
            For Each str In mydir.GetFiles(dirpath)
                filelist.Items.Add(str)
            Next
        Catch ex As Exception
            Label1.Text = "程序出錯(cuò)!<br>" & ex.Message
        End Try
        ‘顯示當(dāng)前查看目錄
        Label1.Text = "當(dāng)前查看目錄- " & dirpath
End Sub
    ‘改變查看驅(qū)動(dòng)器
Private Sub disklist_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles disklist.SelectedIndexChanged
        getdir(disklist.SelectedItem.Text)
        getfiles(disklist.SelectedItem.Text)
End Sub
    ‘改變查看目錄
Private Sub dirlist_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles dirlist.SelectedIndexChanged
        getfiles(dirlist.SelectedItem.Text)
End Sub
End Class
‘----cdoe end --------

  10.2 文件的操作

  10.2.1 文件的讀寫(xiě)

  在進(jìn)行文件讀寫(xiě)的時(shí)候,我們一般只是對(duì)文本文件進(jìn)行操作,在這個(gè)實(shí)例中我們一讀寫(xiě)一個(gè)txt文件為例。

  在項(xiàng)目中新建一個(gè)Web窗體,明天為files_Sample1.aspx,在該web窗體里添加兩個(gè)Button控件用于觸發(fā)執(zhí)行事件,兩個(gè)TextBox控件用來(lái)顯示文本。files_Sample1.aspx頁(yè)面的主要HTML代碼如下:

<form id="Form1" method="post" runat="server">
<asp:TextBox id="TextBox1"  runat="server"
    Height="112px" Width="152px"
TextMode="MultiLine"></asp:TextBox>
<asp:TextBox id="TextBox2"  runat="server"
    Height="112px" Width="160px" TextMode="MultiLine">
</asp:TextBox>
<asp:Button id="Button1"  runat="server"
    Text="寫(xiě)入文件內(nèi)容"></asp:Button>
<asp:Button id="Button2"  runat="server"
    Text="讀取文件內(nèi)容"></asp:Button>
</form>

  files_Sample1.aspx.vb的邏輯編碼如下:

‘------code begin---------
‘----省略命名空間引用
Public Class files_Sample1_aspx
    Inherits System.Web.UI.Page
#Region " Web 窗體設(shè)計(jì)器生成的代碼 "
    ‘此處省略窗體設(shè)計(jì)器生成的代碼
    #End Region
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        ‘在此處放置初始化頁(yè)的用戶(hù)代碼
End Sub
    ‘文件的寫(xiě)操作事件過(guò)程
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        ‘聲明StreamWriter,用來(lái)進(jìn)行文件的寫(xiě)操作
        ‘該類(lèi)進(jìn)行寫(xiě)操作時(shí),如果文件已經(jīng)存在,則直接進(jìn)行覆蓋
        ‘如果沒(méi)有文件,則新建文件
        Dim sw As System.IO.StreamWriter
        Try
            ‘利用File類(lèi)的CreateText新建文件,并指定路徑
            sw = System.IO.File.CreateText(Server.MapPath(".") + "\TestTXT.txt")
            ‘把textbox1中的文本內(nèi)容以文本流寫(xiě)入
            sw.WriteLine(TextBox1.Text.ToString)
            ‘關(guān)閉文本流
            sw.Close()
            ‘提示成功~!
            Response.Write("<script> alert(‘TestTXT.txt文件已經(jīng)寫(xiě)入內(nèi)容!‘);</script>")
        Catch ex As Exception
            Response.Write("程序執(zhí)行出,信息描述如下:<br>" & ex.Message)
        End Try
End Sub
    ‘文件讀出操作事件過(guò)程
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        ‘聲明StreamReader,用來(lái)進(jìn)行文件的讀出操作
        Dim sr As System.IO.StreamReader
        ‘檢測(cè)是否存在
        If System.IO.File.Exists(Server.MapPath(".") + "\TestTXT.txt") Then
            Try
                sr = System.IO.File.OpenText(Server.MapPath(".") + "\TestTXT.txt")
                TextBox2.Text = "以下是從TestTXT.txt讀出的內(nèi)容"
                TextBox2.Text += vbCrLf & "----------------" & vbCrLf & sr.ReadToEnd
                sr.Close()
            Catch ex As Exception
                Response.Write("程序執(zhí)行出,信息描述如下:<br>" & ex.Message)
            End Try
        Else
            ‘如果不存在該文件,提示!
            Response.Write("<script> alert(‘TestTXT.txt文件不存在!‘);</script>")
        End If
End Sub
End Class
‘------code end -----------

  10.2.2 文件的追加和刪除

  文件刪除操作是把文件刪除掉,追加操作是在已經(jīng)存在的文件中,在原有內(nèi)容的尾處追加新的內(nèi)容。下面我們來(lái)通過(guò)實(shí)例驗(yàn)證。

  在FileCon項(xiàng)目里添加一個(gè)新的web窗體,命名為files_Sample2.aspx,添加一個(gè)TextBox控件,用來(lái)填寫(xiě)追加內(nèi)容,兩個(gè)Button控件,用來(lái)執(zhí)行命令。files_Sample2.aspx頁(yè)面的主要HTML代碼如下:

<form id="Form1" method="post" runat="server">
<TABLE id="Table1" style="WIDTH: 300px; HEIGHT: 176px" cellSpacing="1" cellPadding="1"
     width="300" border="1">
     <TR align="center">
      <TD align="center">文本內(nèi)容<br>
       <asp:textbox id="TextBox1" runat="server" Width="176px" Height="148px" TextMode="MultiLine"></asp:textbox><br>
       <asp:button id="Button2" runat="server" Width="96px" Height="28px" Text="刪除文件"></asp:button></TD>
      <TD align="center">填寫(xiě)追加內(nèi)容:<br>
       <asp:textbox id="TextBox2" runat="server" Width="152px" Height="144px" TextMode="MultiLine"></asp:textbox><br>
       <asp:button id="Button1" runat="server" Width="112px" Height="32px" Text="追加操作"></asp:button></TD>
     </TR>
    </TABLE>
</form>

  files_Sample2.aspx頁(yè)面的主要邏輯代碼如下:

‘------code begin---------
‘----省略命名空間引用
Public Class files_Sample2
    Inherits System.Web.UI.Page
#Region " Web 窗體設(shè)計(jì)器生成的代碼 "
    ‘此處省略窗體設(shè)計(jì)器生成的代碼
    #End Region
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        ‘在此處放置初始化頁(yè)的用戶(hù)代碼
        If Not IsPostBack Then
            textread()
        End If
End Sub
    ‘讀取文件內(nèi)容的通用過(guò)程
    Sub textread()
        Dim sr As System.IO.StreamReader
        Try
            sr = System.IO.File.OpenText(Server.MapPath(".") & "\TestTXT.txt")
            TextBox1.Text = sr.ReadToEnd
            sr.Close()
        Catch ex As Exception
        End Try
End Sub
    ‘文件追加事件過(guò)程
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim sw As System.IO.StreamWriter
        Try
            ‘同樣使用StreamWriter類(lèi),在使用File類(lèi)打開(kāi)文件時(shí)候
            ‘使用file類(lèi)的AppendText方法就可以實(shí)現(xiàn)對(duì)文本文件的追加
            sw = System.IO.File.AppendText(Server.MapPath(".") & "\TestTXT.txt")
            sw.Write(TextBox2.Text)
            sw.Close()
            Response.Write("<script> alert(‘TestTXT.txt文件已經(jīng)成功追加新內(nèi)容!‘);</script>")
        Catch ex As Exception
            Response.Write("程序執(zhí)行出,信息描述如下:<br>" & ex.Message)
        End Try
        textread()
End Sub
    ‘文件刪除通用過(guò)程
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        Try
            ‘ 文件刪除時(shí)候(, 只需使用file類(lèi)的Delete方法就可以輕易實(shí)現(xiàn))
            System.IO.File.Delete(Server.MapPath(".") & "\TestTXT.txt")
            Response.Write("<script> alert(‘TestTXT.txt文件已經(jīng)成功刪除!‘);</script>")
        Catch ex As Exception
            Response.Write("程序執(zhí)行出,信息描述如下:<br>" & ex.Message)
        End Try
End Sub
End Class
‘---cdoe end-----

  保存編譯后,files_Sample2.aspx運(yùn)行結(jié)果如圖10.4所示。


圖10.4 files_Sample2.aspx運(yùn)行結(jié)果

    10.3 本章小結(jié)

    本章主要介紹了對(duì)系統(tǒng)文件的操作方法和技巧。

  在ASP.NET中,對(duì)文件的操作主要牽涉到System.IO命名空間中的Directory類(lèi)和File類(lèi),利用Directory類(lèi)可以進(jìn)行對(duì)目錄的建立、刪除、遍歷等操作;利用File類(lèi),結(jié)合StreamWriter類(lèi)和StreamReader類(lèi)就可以實(shí)現(xiàn)對(duì)文件的操作。File類(lèi)的方法屬性有很多,可以根據(jù)實(shí)際情況靈活使用。
在下一章中,我們將GDI+繪制圖形和圖像處理技術(shù)的一些知識(shí)。

作者:李宗民  來(lái)源:IT168  (責(zé)任編輯:webjx
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶(hù)發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
Asp.net主題(theme)和皮膚(skin)的使用
博客園 - asp.net - 如何點(diǎn)擊按鈕彈出新窗口,輸入數(shù)據(jù)后返回并刷新頁(yè)面?
VB & WEB
步步為營(yíng) .NET三層架構(gòu)解析 七、UI的設(shè)計(jì)(登陸頁(yè)面、注冊(cè)頁(yè)頁(yè)和添加部門(mén)頁(yè)面)
ASP.NET 中直接使用C# 動(dòng)態(tài)修改CSS樣式
Asp.net彈出新窗口,獲得返回值
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服