VB.NET文件處理用System.IO類的好處
VB.NET文件處理操作是軟件開發中必不可少的任務。在學習的過成中遇到了許多波折。不過現在有了VB.NET大大簡化了開發難度,簡化了學習難度,使初學者可以在很短的時間就可以掌握與文件相關的編程技巧。認識System.IO在.Net中與文件有關的類都集中在System.IO這個大類中,在此大類中我們可以看見很多以“File”開頭的類名。下面我們就介紹幾個常用的類,它們分別是:
◆Directory :用于創建、移動和枚舉目錄和子目錄的靜態方法。
◆File:用于創建、復制、刪除、移動和打開文件的靜態方法,并協助創建 FileStream 對象。
◆FileInfo:提供創建、復制、刪除、移動和打開文件的實例方法,并且幫助創建 FileStream對象。
◆FileStream:與 Stream對象配合,完成更多的文件操作。我們將在后一節對它進行介紹。
◆Path:指定文件的目錄路徑信息。
VB.NET文件處理***個任務
在下面的程序片段中我們將使用上面提到的幾個類和大家最常用的“文件打開”對話窗來完成一個基于文件的編程。程序功能:將文件移動到回收站文件夾中,并且從回收站中運行這些程序。
可能很多讀者會問,為什么以這段代碼為例呢?原因有三個:
1.這段代碼符合本節的內容。
2.在Windows發布之初很多病毒程序就是被放在回收站中的,而這些技術必定會提高讀者學習本文的興趣。
3.此程序還有一定的實用性。
如果有比較重要的文件你可以將它Copy到回收站中。誰會想到在回收站中保存文件呢?而且對于一般用戶來說,他們不會知道回收站可以保存并運行文件,因為雙擊回收站中的文件不會運行,只會顯示它的文件屬性。就算打開回收站也只能看見要被刪除的文件,而看不見我們專門保存到回收站的文件。添加控件并設置相關屬性:三個Button、一個LISTBOX、一個OPENFILEDIALOG控件。
VB.NET文件處理代碼如下
雙擊Button1加入如下代碼,在代碼中有詳細的注釋:
- Private Sub Button1_Click?ByVal sender As System.Object? ByVal e As System.EventArgs Handles Button1.Click
- OpenFileDialog1.ShowDialog? ‘顯示文件打開對話框
- Dim fname As New FileInfo?OpenFil
- eDialog1.FileName
- '初始化FILEINFO類,此類可以獲得文件的各種信息,在本代碼中用來獲得文件名
- Dim copyf As System.IO.File
- '初始化FILE類,此類用來對文件進行具體的操作,本代碼中用來實現文件的轉移
- sname = fname.Name? '使用fileinfo類的name屬性來獲得文件名,但不包含路徑
- copyf.Move?OpenFileDialog1.FileName? ″c?\recycled\″ & sname
- '移動到回收站文件夾,RECYCLED是回收站文件夾
- End Sub
雙擊Button2加入如下代碼,在代碼中有詳細的注釋:
- Private Sub Button2_Click?ByVal sender As Object? ByVal e As System.EventArgs Handles Button2.Click
- Dim zh
- Dim pj As String
- '在listbox控件中選定要運行的文件
- zh = ListBox1.SelectedIndex‘用zh記錄選中的序列號
- pj = ListBox1.Items.Item?zh
- '用pj記錄序列號所對應的文字,本代碼中對應的文字表示文件名
- Me.Text = ″正在運行程序″ + pj
- '在窗口標題欄處表示運行的程序,這些程序都是在listbox中列出的,即在回收站中的文件
- Dim spros As New System.Diagnostics.Process?
- 'Process是進程類,在Visual Basic .Net中與Visual Basic6.0中的shell函數類似,
- '在后面的文章中我們將對它進行專門的探討。
- spros.Start?pj ' 利用Process類中的start屬性運行選定的文件
- End Sub
雙擊在Button3加入如下代碼,在代碼中有詳細的注釋:
- Private Sub Button3_Click?ByVal sender As Object? ByVal e As System.EventArgs Handles Button3.Click
- Dim dir As System.IO.Directory
- '由于目錄對象可以直接實現目錄的操作所以這里使用它獲得回收文件的個數
- Dim i As Integer
- Dim filename? fileno
- ListBox1.Items.Clear? ‘清空listbox,為下次顯示做準備
- filename = dir.GetFiles?″c?\recycled″? ″?″
- '利用Directory類的Getfile屬性獲得文件數組
- fileno = dir.GetFiles?″c?\recycled″? ″?″ .Length
- '利用Length獲得數組的大小即回收站中到底有多少文件
- For i = 0 To fileno - 1
- ListBox1.Items.Add?filename?i
- '將每個文件添加到listbox中,顯示回收站中的具體文件
- Next
- End Sub
程序說明:如果你要運行文件,請先選中一個文件,再點擊“從回收站啟動文件”按鈕。在顯示回收站文件中各位會看見一些奇怪的文件名,這些文件是你刪除的文件,但是微軟將這些文件的原文件名給改變了。所以大家不用理會這些文件,但是這些文件照樣可以在本程序中通過建立進程并運行,和你保存到回收站中的文件除了名字不同外,其他都一樣。注意當你在“我的電腦”和“資源管理器”中打開回收站并選擇“清空回收站”,那回收站中所有文件都會被刪除。
【編輯推薦】