10.1.2 目錄的遍歷
在filescon項目里新建一個web窗體,命名為dircon_sample2.aspx,添加四個label標簽控件用于顯示信息,添加三個listbox控件分別用于顯示驅動器、文件目錄、文件信息。
dircon_sample2.aspx頁面的主要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">磁盤列表</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">當前路徑</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 窗體設計器生成的代碼 "
'此處省略窗體設計器生成的代碼#end region
'聲明公用變量 directory類 和字符串變量
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
'在此處放置初始化頁的用戶代碼
'第一次加載窗體時,初始化各控件默認信息
'我們設計為初始化時候,讀取第一個驅動器的目錄和文件信息
'由于目錄層次有不確定性,為了便于實例說明,我們只讀取磁盤一下兩層目錄信息
if not ispostback then
getdisk()
getdir(disklist.items(0).text)
getfiles(disklist.items(0).text)
end if
end sub
'獲取系統驅動器信息的通用過程,并把信息加載到disklist控件中
sub getdisk()
disklist.items.clear()
'利用directory類的getlogicaldrives方法獲取系統驅動器信息
'并循環讀出,加載到disklist控件中
for each str in mydir.getlogicaldrives()
disklist.items.add(str)
next
end sub
'獲取文件目錄的通用過程,并把獲取的信息加載到dirlist控件中
sub getdir(byval dirpath as string)
dirlist.items.clear()
'利用directory類的getdirectories方法獲取目錄信息
'并循環讀出,加載到dirlist控件中
try
for each str in mydir.getdirectories(dirpath)
dirlist.items.add(str)
next
catch ex as exception
label1.text = "程序出錯!<br>" & ex.message
end try
end sub
'獲取文件目錄中文件信息的通用過程,并把獲取的信息加載到filelist控件中
sub getfiles(byval dirpath as string)
filelist.items.clear()
'利用directory類的getfiles方法獲取目錄中所有的文件信息
'并循環讀出,加載到filelist控件中
try
for each str in mydir.getfiles(dirpath)
filelist.items.add(str)
next
catch ex as exception
label1.text = "程序出錯!<br>" & ex.message
end try
'顯示當前查看目錄
label1.text = "當前查看目錄- " & dirpath
end sub
'改變查看驅動器
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 文件的讀寫
在進行文件讀寫的時候,我們一般只是對文本文件進行操作,在這個實例中我們一讀寫一個txt文件為例。
在項目中新建一個web窗體,明天為files_sample1.aspx,在該web窗體里添加兩個button控件用于觸發執行事件,兩個textbox控件用來顯示文本。files_sample1.aspx頁面的主要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="寫入文件內容"></asp:button>
<asp:button id="button2" runat="server"
text="讀取文件內容"></asp:button>
</form>
新聞熱點
疑難解答
圖片精選