av激情亚洲男人的天堂国语,日韩欧美精品一中文字幕,无码av一区二区三区无码,国产又色又爽又刺激的a片,国产又色又爽又刺激的a片

關(guān)于C#文件存儲(chǔ)管理:Directory類和File類

C#文件存儲(chǔ)管理:目錄管理

.Net框架結(jié)構(gòu)在名字空間System.IO中為我們提供了Directory類來(lái)進(jìn)行目錄管理。利用它,我們可以完成對(duì)目錄及其子目錄進(jìn)行創(chuàng)建、移動(dòng)、瀏覽等操作,甚至還可以定義隱藏目錄和只讀目錄。

Directory的構(gòu)造函數(shù)形式如下:

 
 
 
  1. public Directory(string path); 

其中的參數(shù)path表示目錄所在的路徑。

Directory的主要屬性有:

●Attributes:0x01表示只讀,0x02表示隱藏。

●Name:當(dāng)前路徑名。

●Parent:上一級(jí)父目錄名。

●Root:所在根目錄名。

●Creation Time:目錄創(chuàng)建時(shí)間。

●LastAccessTime:上一次訪問(wèn)目錄的時(shí)間。

●LastWriteTime:上一次修改目錄的時(shí)間。

我們常用到的Directory類的一些成員方法有:

●CreateDirectory(string path):創(chuàng)建子目錄。

●CreateDirectories(string path):創(chuàng)建多級(jí)子目錄。

●CreateFile(string filename):在當(dāng)前目錄下創(chuàng)建一個(gè)新文件。

●Delete():刪除目錄。

下面的例子中,我們利用Directory的CreateDirectory和CreateDirectories方法創(chuàng)建一級(jí)和二級(jí)目錄。

程序清單17-1:

 
 
 
  1. usingSystem;  
  2. usingSystem.IO;  
  3. classDirectoryTest  
  4. {  
  5. publicstaticvoidMain()  
  6. {  
  7. Directoryd=newDirectory("c:\\C#");  
  8. Directoryd1;  
  9. Directoryd2;  
  10. try{  
  11. d1=d.CreateSubdirectory("file1");  
  12. }  
  13. catch(IOExceptione)  
  14. {  
  15. Console.WriteLine("  
  16. directoryfile1failedbecause:{0}",e);  
  17. return;  
  18. }  
  19. try{  
  20. d2=d.CreateSubdirectories("  
  21. file1\\file2");  
  22. //等于d2=d1.CreateSubDirectory("  
  23. file2");  
  24. }  
  25. catch(IOExceptione)  
  26. {  
  27. Console.WriteLine("  
  28. directoryfile2failedbecause:{0}",e);  
  29. return;  
  30. }  
  31. Console.WriteLine("  
  32. Createdirectorysuccessfully!");  
  33. }  

上面例子中的異常IOException表示準(zhǔn)備創(chuàng)建的目錄名已經(jīng)存在。System.IO中提供了各種輸入輸出的異常,便于我們了解任務(wù)失敗的原因所在,或者是給程序的用戶提示信息。

同樣我們可以進(jìn)行目錄刪除操作。

程序清單17-2:

 
 
 
  1. usingSystem;  
  2. usingSystem.IO;  
  3. classDirectoryTest  
  4. {  
  5. publicstaticvoidMain()  
  6. {  
  7. Directoryd=newDirectory("  
  8. c:\\C#file1");  
  9. Directory[]subdir;  
  10. try{  
  11. subdir=d.GetDirectories();  
  12. }  
  13. catch(DirectoryNotFoundExceptione)  
  14. {  
  15. Console.WriteLine("  
  16. Cannotfindsuchadirectorybecause:{0}",e);  
  17. return;  
  18. }  
  19. foreach(Directorydirinsubdir){  
  20. dir.Delete();  
  21. }  
  22. d.Delete();  
  23. Console.WriteLine("  
  24. Deletesuccessfully!");  
  25. }  

#p#

C#文件存儲(chǔ)管理:文件管理

File類通常和FileStream類協(xié)作來(lái)完成對(duì)文件的創(chuàng)建、刪除、拷貝、移動(dòng)、打開(kāi)等操作。

File類的構(gòu)造函數(shù)形式為:

 
 
 
  1. public File(string fileName); 

同樣,F(xiàn)ile類也有自己的屬性,如絕對(duì)路徑名DerictoryName、創(chuàng)建時(shí)間CreationTime、上次訪問(wèn)時(shí)間LastAccessTime、上次修改時(shí)間LastWriteTime、文件長(zhǎng)度Length等。

File類為我們提供的方法主要有CopyTo、MoveTo、Delete等,利用它們可以完成一些基本的文件管理。

下面給出的例子用于簡(jiǎn)單的文件拷貝。這是一個(gè)帶命令行參數(shù)的可執(zhí)行文件,第一個(gè)參數(shù)表示源文件的絕對(duì)路徑名,第二個(gè)參數(shù)表示目標(biāo)文件的絕對(duì)路徑名。

程序清單17-3:

 
 
 
  1. usingSystem;  
  2. usingSystem.IO;  
  3. classFileTest  
  4. {  
  5. publicstaticvoidMain(String[]args)  
  6. {  
  7. //驗(yàn)證參數(shù)輸入是否正確  
  8. stringsourcename;  
  9. stringtargetname;  
  10. try{  
  11. sourcename=args[0];  
  12. }  
  13. catch 
  14. {  
  15. Console.WriteLine("  
  16. Pleaseinputthenameofthesourcefilecorrectly");  
  17. return;  
  18. }  
  19. try{  
  20. targetname=args[1];  
  21. }  
  22. catch 
  23. {  
  24. Console.WriteLine("  
  25. Pleaseinputthenameofthetargetfilecorrectly");  
  26. return;  
  27. }  
  28. //進(jìn)行文件拷貝操作  
  29. Filefile;  
  30. try{  
  31. file=newFile(sourcename);  
  32. }  
  33. catch 
  34. {  
  35. Console.WriteLine("  
  36. Cannotopenthesourcefilenamed'{0}'",  
  37. sourcename);  
  38. return;  
  39. }  
  40. try{  
  41. file.CopyTo(targetname,true);  
  42. }  
  43. catch 
  44. {  
  45. Console.WriteLine("  
  46. Canwritethetargetfilenamed'{0}'",targetname);  
  47. return;  
  48. }  
  49. Console.WriteLine("  
  50. Filecopyssuccessfully!");  
  51. }  

上面我們用到了File的CopyTo方法。若改為MoveTo方法,則程序可以用于文件的移動(dòng)操作。

下面的例子用于刪除當(dāng)前目錄下的所有文件。

程序清單17-4:

 
 
 
  1. usingSystem;  
  2. usingSystem.IO;  
  3. classFileTest  
  4. {  
  5. publicstaticvoidMain()  
  6. {  
  7. Console.WriteLine("  
  8. Areyousuretodeleteallthe  
  9. filesincurrentdirectory?");  
  10. Console.WriteLine("  
  11. Press'Y'thenentertocontinue,  
  12. anyotherkeytoabort");  
  13. inta=Console.Read();  
  14. if(a=='Y'||a=='y'){  
  15. Console.WriteLine("Deletingthefiles...");  
  16. }  
  17. else{  
  18. Console.WriteLine("canceledbyuser");  
  19. return;  
  20. }  
  21. Directorydir=newDirectory(".");  
  22. foreach(Filefindir.GetFiles()){  
  23. f.Delete();  
  24. }  
  25. }  

其中,語(yǔ)句foreach(File f in dir.GetFiles())表示查找當(dāng)前所有文件。Directory類的成員方法GetFiles有兩種重載形式:

 
 
 
  1. public File[] GetFiles();  
  2. public File[] GetFiles(string searchCriteria);  

后面一種方法中的參數(shù)表示搜索文件的條件。我們對(duì)程序17-4可以稍做改動(dòng),把最后一段代碼改寫(xiě)為:

 
 
 
  1. foreach(File f in dir.GetFiles("*.exe")){  
  2. f.Delete();  
  3. }  

這樣,程序?qū)嶋H上是變成了刪除當(dāng)前目錄下的所有擴(kuò)展名為.exe的文件。

值得一提的是,作者在使用File.Delete方法時(shí)遇到了一個(gè)有趣的現(xiàn)象。文件刪除后,在Windows的回收站中找不到,但是使用工具軟件Norton Unerase Wizard卻成功地找到并恢復(fù)了被刪除了的文件,而且文件名還保存完好(Windows徹底刪除的文件恢復(fù)時(shí)文件名的第一個(gè)字符已被刪除)。看來(lái)File.Delete方法也并不是徹底地抹去文件的內(nèi)容,而只是對(duì)被刪除的文件作出某個(gè)標(biāo)記而已。

以上就介紹了C#文件存儲(chǔ)管理的一些細(xì)節(jié)。

【編輯推薦】

  1. C#刪除指定文件兩種方法
  2. C# 進(jìn)度條效果實(shí)現(xiàn)實(shí)例
  3. C# 枚舉簡(jiǎn)介及優(yōu)點(diǎn)淺析
  4. C# 枚舉實(shí)例應(yīng)用淺析
  5. C# 枚舉常用方法淺析

當(dāng)前題目:關(guān)于C#文件存儲(chǔ)管理:Directory類和File類
文章鏈接:http://uogjgqi.cn/article/cdiepps.html
掃二維碼與項(xiàng)目經(jīng)理溝通

我們?cè)谖⑿派?4小時(shí)期待你的聲音

解答本文疑問(wèn)/技術(shù)咨詢/運(yùn)營(yíng)咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流