c#之文件操作(學習筆記)


File類和Directory類

 

FileInfo類

需要提供一個文件路徑來創建一個FileInfo類實例對象,FileInfo提供很多類似File的方法,在選擇使用File還是FileInfo時應遵循下面的規則:

1、如果要對某個文件只進行一次復制操作,則可以使用File的靜態方法,因為不必創建對象再調用方法,所以會快一些。

2、如果對某個文件進行很多次操作(如:復制、移動、重命名等),那么使用FileInfo會快一些,因為對象在開始就確定了某個文件,不像File一樣每次都要去尋找文件

FileInfo、File、Directory通用屬性

DirectoryInfo類

類似於FileInfo類。DirectoryInfo類的屬性與FileInfo類一樣,只是這些屬性用於目錄

DirectoryInfo類的專用屬性

使用FileStream對象讀取和寫入

一:創建對象
FileStream表示在磁盤上指向文件的流,該類操作的是字節或字節數組,該類可以從指定位置開始讀取

Stream類操作的字符數據,比起FileStream來更易於使用

創建FileStream對象的方式多種多樣,

1、通過構造函數可以創建

FileStream中FileMode的屬性:

2、File和FileInfo都提供了OpenRead()和OpenWrite()方法,更易於創建FileStream對象

 

二:文件指針

使用seek方法可以從文件的任何地方讀取文件,當處理大型文件時非常省時

三:讀取數據

使用FileStream類讀取數據不像使用StreamReader類讀取數據那樣容易。因為FileStream類只能處理原始字節,所以不嗯呢該直接讀入字符串,而StreamReader可以直接讀入字符串,但是FileStream可以用於讀取任何數據文件。

FileStream.Read(byte[] array,int index,int count);

第一個參數:用於接收FileStream對象數據的數組

第二個參數:字節數組中開始寫入數據的位置

第三個參數:指定從文件中讀取多少個字節

四:將字節數組轉換為字符串:

Encoding.UTF8.GetDecoder().GetChars方法,參數不做介紹了F12可以查看到

 

寫入數據

跟讀入數據很類似

StreamWriter對象

StreamWriter類允許將字符串寫入到文件中,向FileStream對象寫入數據

一:創建StreamWriter對象

方法一:

FileStream fileStream = new FileStream(@"log.txt",FileMode.CreateNew);

StreamWriter sw= new StreamWriter(fileStream);

方法二:

StreamWriter sw = new StreamWriter("log.txt",true); // 第二個參數規定是否追加文件,false如果文件存在則改寫該文件,否則創建一個新文件,true:如果文件存在,保留文件內容並向后追加,否則創建一個新文件,

示例:

 

 

StreamReader對象

 用於從外部數據源中讀取數據,使用方法同StreamWriter

示例:

使用ReadLine()讀取文本,這個方法讀取回車符之前的文本,當達到文本末尾時返回null。

StreamReader有多個讀取文本的方法,

Read()

此方法將字符作為正整數值返回,如果達到了流的結尾處,返回-1.上面的實例中可以這樣編寫:

 

對於小文件,可以用ReadToEnd


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM