visual Visual C#作為下一代主流的程式開發語言,其語言功能的強大是眾所周知的。並且又有一個內容十分豐富的程式開發包--.Net FrameWork SDK,作為他的後盾。這樣就使得Visual C#有了一個充分發揮其本領的舞台。Visual C#的強大功能不僅表現在支援各類資料庫的資料處理方面,還表現對網路編程和檔案處理等方面。
視窗作業系統的資源回收筒是對檔案一種保護措施,他主要是作用是不言而喻的。在新的視窗2000系統之中,當我把檔案刪除到資源回收筒中以後,按動"清空資源回收筒"按鈕,想清空資源回收筒,此時往往提示"某某檔案夾不為空白,無法刪除"的資訊。所以只好全部恢複,然後到要刪除的檔案夾中,先刪除裡面的檔案,後刪除檔案夾,這樣才可以清空資源回收筒。但這給我們作業系統帶來了煩惱。本文就是利用Visual C#在處理檔案方面的強大功能,來做一個軟體,利用此軟體來清空資源回收筒裡面的要刪除的檔案,從而解除這種煩惱。
一.程式設計的主要思想
我們知道視窗系統是把我們將要刪除的檔案資訊都臨時儲存在"C:\Recycled"目錄下面。在通過"清空資源回收筒"按鈕來徹底此目錄下的要刪除的檔案的。本程式的主要思路就是根據以上知識得來的。具體說明如下:
(1).首先判斷C盤根目錄下面的"Recycled"目錄是否為空白。
(2).如果不為空白的話,就遍曆所有檔案資訊,並刪除檔案。
二.程式設計和運行環境
(1).視窗系統2000專業版本
(2)..Net FrameWork SDK Beta 2
三.程式設計的主要步驟和具體解釋
(1).如何判斷C盤根目錄下面的"Recycled"目錄是否為空白。
要判斷"C:\Recycled"目錄中是否有檔案資訊,要經過二個步驟,首先要確定找到此目錄。其次才能夠判斷此目錄是否為空白。下面就按照這二個步驟來分別做具體介紹:
i>.如何在程式中找到"C:\Recycled"目錄。
在.Net FrameWork SDK中封裝了一個名稱空間--System.IO。此名稱空間中定義了許多與檔案和目錄處理相關的類、對象、屬性和方法。Visual C#就是通過靈活調用這些資源來實現對檔案和目錄的具體操作的。本文中主要用到此名稱空間中的二個類:Directory類和File類。前者在程式中主要用來處理和目錄相關的操作的,如確定目錄和獲得目錄中的檔案資訊。後者在程式中主要用來處理和檔案相關的操作的,如刪除檔案。在程式中用到Directory類中的GetFiles ( "目錄名稱")方法,此方法的返回的是一個枚舉型,此枚舉型是由一組字串組成。GetFiles()方法是把在目錄中的每個檔案名稱都形成一個字串,然後由這些字串組成形成一個枚舉類型。
ii>.判斷此目錄是否為空白。
在此要介紹一下foreach語句,Visual C#是通過此語句來收集枚舉的。在本文中是通過他來列舉出在"C:\Recycled"存在的所有被刪除的檔案資訊的。
int c = 0 ; // 定義此變數主要是來判斷目錄中是否有檔案
foreach ( string s1 in Directory.GetFiles ( "c:\recycled" ) ) // 返迴文件名稱字串行時的枚舉類型
...{
++c ;
}
if ( c > 0 ) //判斷是否存在檔案如果 c > 0則資源回收筒有檔案,反之則沒有
...{
…..
}(2).如果"C:\Recycled"目錄中不為空白的話,就遍曆目錄中的所有檔案資訊,並刪除檔案。
在本段落裡面要介紹一下MessageBox類的用法。用過VB和Delphi的人一定知道在此類程式設計語言中,顯示提示資訊是一件多麼容易的事情。但在Visual C#中,這類操作顯然相對繁瑣些,但在靈活程度有了一定的提高。在Visual C#中,System.Windows.Forms名稱空間中封裝了一個MessageBox的類,在此類中又定義了與顯示提示資訊相關的一些方法(Show方法)、對象和屬性。在本程式中就有關於MessageBox類的具體介紹。
要刪除磁碟上的檔案就要使用到名稱空間System.IO中File類的Delete ( )方法。Delete ( )方法後面跟的參數是檔案所在磁碟的全路徑名稱。要獲得檔案的全路徑名稱,就還要使用到foreach語句,程式中就是foreach語句來從一個包含所有檔案全路徑名稱的枚舉類型中獲得檔案的全路徑名稱的。具體實現語句如下:
if ( c > 0 ) // 判斷"C:Recycled"目錄中是否存在檔案資訊
...{
DialogResult r = MessageBox.Show ( "是否確定?" , "垃圾處理!" ,
MessageBoxButtons.YesNo , MessageBoxIcon.Question ) ;
// 顯示"確定"和"取消"二個按鈕,表徵圖顯示是一個問號。
int ss=(int)r ;
if ( ss==6 ) // 按動確定按鈕
...{ foreach ( string s in Directory.GetFiles ( "c:\recycled" ) )
// 把全路徑名稱房子 s中
...{
File.Delete ( s ) ; //刪除此檔案
}
}
}
三.程式設計的主要步驟和具體解釋
(1).如何判斷C盤根目錄下面的"Recycled"目錄是否為空白。
要判斷"C:\Recycled"目錄中是否有檔案資訊,要經過二個步驟,首先要確定找到此目錄。其次才能夠判斷此目錄是否為空白。下面就按照這二個步驟來分別做具體介紹:
i>.如何在程式中找到"C:\Recycled"目錄。
在.Net FrameWork SDK中封裝了一個名稱空間--System.IO。此名稱空間中定義了許多與檔案和目錄處理相關的類、對象、屬性和方法。Visual C#就是通過靈活調用這些資源來實現對檔案和目錄的具體操作的。本文中主要用到此名稱空間中的二個類:Directory類和File類。前者在程式中主要用來處理和目錄相關的操作的,如確定目錄和獲得目錄中的檔案資訊。後者在程式中主要用來處理和檔案相關的操作的,如刪除檔案。在程式中用到Directory類中的GetFiles ( "目錄名稱")方法,此方法的返回的是一個枚舉型,此枚舉型是由一組字串組成。GetFiles()方法是把在目錄中的每個檔案名稱都形成一個字串,然後由這些字串組成形成一個枚舉類型。
ii>.判斷此目錄是否為空白。
在此要介紹一下foreach語句,Visual C#是通過此語句來收集枚舉的。在本文中是通過他來列舉出在"C:\Recycled"存在的所有被刪除的檔案資訊的。
int c = 0 ; // 定義此變數主要是來判斷目錄中是否有檔案
foreach ( string s1 in Directory.GetFiles ( "c:\recycled" ) ) // 返迴文件名稱字串行時的枚舉類型
...{
++c ;
}
if ( c > 0 ) //判斷是否存在檔案如果 c > 0則資源回收筒有檔案,反之則沒有
...{
…..
}2).如果"C:\Recycled"目錄中不為空白的話,就遍曆目錄中的所有檔案資訊,並刪除檔案。
在本段落裡面要介紹一下MessageBox類的用法。用過VB和Delphi的人一定知道在此類程式設計語言中,顯示提示資訊是一件多麼容易的事情。但在Visual C#中,這類操作顯然相對繁瑣些,但在靈活程度有了一定的提高。在Visual C#中,System.Windows.Forms名稱空間中封裝了一個MessageBox的類,在此類中又定義了與顯示提示資訊相關的一些方法(Show方法)、對象和屬性。在本程式中就有關於MessageBox類的具體介紹。
要刪除磁碟上的檔案就要使用到名稱空間System.IO中File類的Delete ( )方法。Delete ( )方法後面跟的參數是檔案所在磁碟的全路徑名稱。要獲得檔案的全路徑名稱,就還要使用到foreach語句,程式中就是foreach語句來從一個包含所有檔案全路徑名稱的枚舉類型中獲得檔案的全路徑名稱的。具體實現語句如下:
if ( c > 0 ) // 判斷"C:Recycled"目錄中是否存在檔案資訊
...{
DialogResult r = MessageBox.Show ( "是否確定?" , "垃圾處理!" ,
MessageBoxButtons.YesNo , MessageBoxIcon.Question ) ;
// 顯示"確定"和"取消"二個按鈕,表徵圖顯示是一個問號。
int ss=(int)r ;
if ( ss==6 ) // 按動確定按鈕
...{ foreach ( string s in Directory.GetFiles ( "c:\recycled" ) )
// 把全路徑名稱房子 s中
...{
File.Delete ( s ) ; //刪除此檔案
}
}
}
四.程式的原始碼(recycled.cs)、編譯方法及運行後的介面:
(1).程式的原始碼:recycled.cs:
using System.IO ;
using System.Windows.Forms ; //匯入程式中用到的名稱空間
class Recycle
...{
public static void Main ( )
...{
int c = 0 ; // 定義此變數主要是來判斷目錄中是否有檔案
foreach ( string s1 in Directory.GetFiles ( "c:\recycled" ) ) // 返迴文件名稱字串行時的枚舉類型
...{
++c ;
}
if ( c > 0 ) //判斷是否存在檔案如果 c > 0則資源回收筒有檔案,反之則沒有
...{
DialogResult r = MessageBox.Show ( "是否確定?" , "垃圾處理!" ,
MessageBoxButtons.YesNo , MessageBoxIcon.Question ) ;
// 顯示"確定"和"取消"二個按鈕,表徵圖顯示是一個問號。
int ss=(int)r ;
if ( ss==6 ) // 按動確定按鈕
...{ foreach ( string s in Directory.GetFiles ( "c:\recycled" ) )
// 把全路徑名稱房子 s中
...{
File.Delete ( s ) ; //刪除此檔案
}
}
}
}
}
2).編譯方法:
在經過如下命令列進行編譯後,就形成了一個Windows 的執行檔案--recycled.exe。
csc /t:winexe /r:system.dll /r:system.windows.forms.dll recycled.cs
執行此檔案就會得到以下的執行介面:
圖01:程式執行介面
五.總結:
本文是通過一個軟體的製做過程來具體說明Visual C#在檔案處理方面的強大功能,其實上面所表述的只是Visual C#在檔案處理方面的一個小的應用。不僅如此,Visual C#在其他方面也具有很強大的功能。有了.Net FrameWork SDK的這個強有力的後盾,Visual C#使得以前程式中困難處理的問題變得相對簡單了,使得原來不可能處理的問題變得可能了,這才是為什麼Visual C#成為下一代主流程式設計語言的原因。