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
c 學習筆記之檔案操作
一 文字檔案操作 1.檔案作為輸入資料,也就是從檔案中讀資料。定義乙個檔案物件類 ifstream input titile 後面可以加入其他定義的特性 include include include using namespace std void main input.close delete ...
c 學習筆記之檔案操作
filestream常用的屬性和方法 屬性 canread 判斷當前流是否支援讀取,返回bool值,true表示可以讀取 canwrite 判斷當前流是否支援寫入,返回bool值,true表示可以寫入 方法 read 從流中讀取資料,返回位元組陣列 write 將位元組塊 位元組陣列 寫入該流 se...
c語言學習筆記之檔案操作
1 static 和extern使用 1 修飾區域性變數 static修飾區域性變數特點 延長區域性變數的生命週期 extern不能修飾區域性變數 2 修飾全域性變數 static修飾全域性變數 是乙個內部變數,只能在本檔案使用。extern修飾全域性變數 是乙個外部變數,可以在本檔案和其他檔案使用...