Directory和DirectoryInfo有什么區(qū)別?
-
Directory是靜態(tài)類(lèi),它提供了許多靜態(tài)方法,用于處理文件夾。 -
DirectoyInfo不是靜態(tài)類(lèi),該類(lèi)中封裝了操作文件夾的實(shí)例方法和屬性。
File和FileInfo有什么區(qū)別?它們各適用于何場(chǎng)景?
-
File是靜態(tài)類(lèi),它提供了許多靜態(tài)方法,用于操作文件。 -
FileInfo不是靜態(tài)類(lèi),該類(lèi)中封裝了操作文件的實(shí)例方法和屬性。
使用場(chǎng)景:
- 如果進(jìn)行單一方法的調(diào)用,則可以使用
File類(lèi)上的方法。因?yàn)椴槐貙?shí)例化對(duì)象,所以代碼更簡(jiǎn)潔一些。 - 如果要對(duì)某個(gè)文件執(zhí)行多種操作,則實(shí)例化
FileInfo對(duì)象并使用其實(shí)例方法更合適一些。因?yàn)閷?duì)象已代表文件,所以不必每次都設(shè)置文件路徑,也不會(huì)像File類(lèi)去重復(fù)的尋找文件。
什么是流?它和文件有什么關(guān)系?
- 流是個(gè)抽象的概念,是對(duì)輸入輸出設(shè)備的抽象。
- 在
.NET Framework中,對(duì)于數(shù)據(jù)的輸入/輸出操作都是以“流”的方式進(jìn)行,而輸入/輸出的目標(biāo)可以是文件,網(wǎng)絡(luò),內(nèi)存等。
簡(jiǎn)述使用FileStream讀寫(xiě)文件的基本原理。
-
FileStream對(duì)象表示在磁盤(pán)或網(wǎng)絡(luò)路徑上指向文件的流。 -
FileStream提供了在文件中讀寫(xiě)字節(jié)的方法,所以它可以在二進(jìn)制文件中讀寫(xiě)二進(jìn)制數(shù)據(jù)。
簡(jiǎn)述使用StreamWrite將數(shù)據(jù)寫(xiě)入文件的步驟。
- 創(chuàng)建
StreamWrite對(duì)象,打開(kāi)文件。 - 使用
StreamWrite對(duì)象的WriteLine()或Write()方法,向流中寫(xiě)入數(shù)據(jù)。 - 最后,調(diào)用
Close方法關(guān)閉流對(duì)象,釋放文件。
簡(jiǎn)述使用StreamReader讀取文件數(shù)據(jù)的步驟。
- 創(chuàng)建
StreamReader對(duì)象,打開(kāi)文件。 - 使用
StreamReader對(duì)象的Read()或ReadLine()或ReadToEnd方法,從流中讀取數(shù)據(jù)。 - 最后,調(diào)用
Close方法關(guān)閉流對(duì)象,釋放文件。