明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

用Visual C#來清空回收站

[摘要]Visual C#作為下一代主流的程序開發(fā)語(yǔ)言,其語(yǔ)言功能的強(qiáng)大是眾所周知的。并且又有一個(gè)內(nèi)容十分豐富的程序開發(fā)包--.Net FrameWork SDK,作為他的后盾。這樣就使得Visual C#有了一個(gè)充分發(fā)揮其本領(lǐng)的舞臺(tái)。Visual C#的強(qiáng)大功能不僅表現(xiàn)在支持各類數(shù)據(jù)庫(kù)的數(shù)據(jù)處理方面,還...

Visual C#作為下一代主流的程序開發(fā)語(yǔ)言,其語(yǔ)言功能的強(qiáng)大是眾所周知的。并且又有一個(gè)內(nèi)容十分豐富的程序開發(fā)包--.Net FrameWork SDK,作為他的后盾。這樣就使得Visual C#有了一個(gè)充分發(fā)揮其本領(lǐng)的舞臺(tái)。Visual C#的強(qiáng)大功能不僅表現(xiàn)在支持各類數(shù)據(jù)庫(kù)的數(shù)據(jù)處理方面,還表現(xiàn)對(duì)網(wǎng)絡(luò)編程和文件處理等方面。視窗操作系統(tǒng)的回收站是對(duì)文件一種保護(hù)措施,他主要是作用是不言而喻的。在新的視窗2000系統(tǒng)之中,當(dāng)我把文件刪除到回收站中以后,按動(dòng)"清空回收站"按鈕,想清空回收站,此時(shí)往往提示"某某文件夾不為空,無法刪除"的信息。所以只好全部恢復(fù),然后到要?jiǎng)h除的文件夾中,先刪除里面的文件,后刪除文件夾,這樣才可以清空回收站。但這給我們操作系統(tǒng)帶來了煩惱。本文就是利用Visual C#在處理文件方面的強(qiáng)大功能,來做一個(gè)軟件,利用此軟件來清空回收站里面的要?jiǎng)h除的文件,從而解除這種煩惱。一.程序設(shè)計(jì)的主要思想我們知道視窗系統(tǒng)是把我們將要?jiǎng)h除的文件信息都臨時(shí)保存在"C:\Recycled"目錄下面。在通過"清空回收站"按鈕來徹底此目錄下的要?jiǎng)h除的文件的。本程序的主要思路就是根據(jù)以上知識(shí)得來的。具體說明如下:(1).首先判斷C盤根目錄下面的"Recycled"目錄是否為空。(2).如果不為空的話,就遍歷所有文件信息,并刪除文件。二.程序設(shè)計(jì)和運(yùn)行環(huán)境(1).視窗系統(tǒng)2000專業(yè)版本(2)..Net FrameWork SDK Beta 2 三.程序設(shè)計(jì)的主要步驟和具體解釋(1).如何判斷C盤根目錄下面的"Recycled"目錄是否為空。要判斷"C:\Recycled"目錄中是否有文件信息,要經(jīng)過二個(gè)步驟,首先要確定找到此目錄。其次才能夠判斷此目錄是否為空。下面就按照這二個(gè)步驟來分別做具體介紹:i>.如何在程序中找到"C:\Recycled"目錄。在.Net FrameWork SDK中封裝了一個(gè)名稱空間--System.IO。此名稱空間中定義了許多與文件和目錄處理相關(guān)的類、對(duì)象、屬性和方法。Visual C#就是通過靈活調(diào)用這些資源來實(shí)現(xiàn)對(duì)文件和目錄的具體操作的。本文中主要用到此名稱空間中的二個(gè)類:Directory類和File類。前者在程序中主要用來處理和目錄相關(guān)的操作的,如確定目錄和獲得目錄中的文件信息。后者在程序中主要用來處理和文件相關(guān)的操作的,如刪除文件。在程序中用到Directory類中的GetFiles ( "目錄名稱")方法,此方法的返回的是一個(gè)枚舉型,此枚舉型是由一組字符串組成。GetFiles()方法是把在目錄中的每個(gè)文件名稱都形成一個(gè)字符串,然后由這些字符串組成形成一個(gè)枚舉類型。ii>.判斷此目錄是否為空。在此要介紹一下foreach語(yǔ)句,Visual C#是通過此語(yǔ)句來收集枚舉的。在本文中是通過他來列舉出在"C:\Recycled"存在的所有被刪除的文件信息的。int c = 0 ; // 定義此變量主要是來判斷目錄中是否有文件
foreach ( string s1 in Directory.GetFiles ( "c:\\recycled" ) ) // 返回文件名稱字符串行時(shí)的枚舉類型
{
++c ;
}
if ( c > 0 ) //判斷是否存在文件如果 c > 0則回收站有文件,反之則沒有
{
…..
} (2).如果"C:\Recycled"目錄中不為空的話,就遍歷目錄中的所有文件信息,并刪除文件。在本段落里面要介紹一下MessageBox類的用法。用過VB和Delphi的人一定知道在此類程序設(shè)計(jì)語(yǔ)言中,顯示提示信息是一件多么容易的事情。但在Visual C#中,這類操作顯然相對(duì)繁瑣些,但在靈活程度有了一定的提高。在Visual C#中,System.Windows.Forms名稱空間中封裝了一個(gè)MessageBox的類,在此類中又定義了與顯示提示信息相關(guān)的一些方法(Show方法)、對(duì)象和屬性。在本程序中就有關(guān)于MessageBox類的具體介紹。要?jiǎng)h除磁盤上的文件就要使用到名稱空間System.IO中File類的Delete ( )方法。Delete ( )方法后面跟的參數(shù)是文件所在磁盤的全路徑名稱。要獲得文件的全路徑名稱,就還要使用到foreach語(yǔ)句,程序中就是foreach語(yǔ)句來從一個(gè)包含所有文件全路徑名稱的枚舉類型中獲得文件的全路徑名稱的。具體實(shí)現(xiàn)語(yǔ)句如下:if ( c > 0 ) // 判斷"C:\Recycled"目錄中是否存在文件信息
{
DialogResult r = MessageBox.Show ( "是否確定?" , "垃圾處理!" ,
MessageBoxButtons.YesNo , MessageBoxIcon.Question ) ;
// 顯示"確定"和"取消"二個(gè)按鈕,圖標(biāo)顯示是一個(gè)問號(hào)。
int ss=(int)r ;
if ( ss==6 ) // 按動(dòng)確定按鈕
{ foreach ( string s in Directory.GetFiles ( "c:\\recycled" ) )
// 把全路徑名稱房子 s中
{
File.Delete ( s ) ; //刪除此文件
}
}
} 四.程序的源代碼(recycled.cs)、編譯方法及運(yùn)行后的界面: (1).程序的源代碼:recycled.cs:using System.IO ;
using System.Windows.Forms ; //導(dǎo)入程序中用到的名稱空間
class Recycle
{
public static void Main ( )
{
int c = 0 ; // 定義此變量主要是來判斷目錄中是否有文件
foreach ( string s1 in Directory.GetFiles ( "c:\\recycled" ) ) // 返回文件名稱字符串行時(shí)的枚舉類型
{
++c ;
}
if ( c > 0 ) //判斷是否存在文件如果 c > 0則回收站有文件,反之則沒有
{
DialogResult r = MessageBox.Show ( "是否確定?" , "垃圾處理!" ,
MessageBoxButtons.YesNo , MessageBoxIcon.Question ) ;
// 顯示"確定"和"取消"二個(gè)按鈕,圖標(biāo)顯示是一個(gè)問號(hào)。
int ss=(int)r ;
if ( ss==6 ) // 按動(dòng)確定按鈕
{ foreach ( string s in Directory.GetFiles ( "c:\\recycled" ) )
// 把全路徑名稱房子 s中
{
File.Delete ( s ) ; //刪除此文件
}
}
}
}
} (2).編譯方法:在經(jīng)過如下命令行進(jìn)行編譯后,就形成了一個(gè)Windows 的執(zhí)行文件--recycled.exe。csc /t:winexe /r:system.dll /r:system.windows.forms.dll recycled.cs執(zhí)行此文件就會(huì)得到以下的執(zhí)行界面:
圖01:程序執(zhí)行界面

五.總結(jié):本文是通過一個(gè)軟件的制做過程來具體說明Visual C#在文件處理方面的強(qiáng)大功能,其實(shí)上面所表述的只是Visual C#在文件處理方面的一個(gè)小的應(yīng)用。不僅如此,Visual C#在其他方面也具有很強(qiáng)大的功能。有了.Net FrameWork SDK的這個(gè)強(qiáng)有力的后盾,Visual C#使得以前程序中困難處理的問題變得相對(duì)簡(jiǎn)單了,使得原來不可能處理的問題變得可能了,這才是為什么Visual C#成為下一代主流編程語(yǔ)言的原因。