對檔案的讀寫操作應該是最重要的檔案操作,system.io命名空間提供了諸多檔案讀寫操作類,對檔案內容進行操作常見有3種方式:文字模式、二進位制模式以及非同步模式。
1
、文字模式
streamreader
和streamwriter類提供了按文字模式讀寫資料的方法。
1.1 streamreader
類的成員方法方法
說明 close
關閉streamreader並釋放與閱讀器關聯的所有系統資源。
createobjref
(從marshalbyrefobject繼承)建立乙個物件,該物件包含生成用於與過程物件進行通訊的**所需的全部相關資訊。
discardbuffereddata
允許streamreader丟棄其當前資料。
equals
確定兩個object例項是否相等。
gethashcode
用作特定型別的雜湊函式,適合在雜湊演算法和資料結構中使用。
getlifetimesrvice
(從marshalbyrefobject繼承)檢索控制此例項的生存期策略的當前生存期服務物件
peek
返回下乙個可用的字元,但不使用它。
read
讀取輸入流中的下乙個字元或下一組字元。
readblock
(從textreader繼承)從當前流中讀取最大數量的字元並從索引開始將該資料寫入緩衝區
readline
從當前流中讀取一行字元並將資料作為字串返回
readtoend
從流的當前位置到末尾讀取流
1.1 streamwriter
類的成員方法方法
說明 close
關閉當前的streamwriter和基礎流。
createobjref
(從marshalbyrefobject繼承)建立乙個物件,該物件包含生成用於與過程物件進行通訊的**所需的全部相關資訊。
equals
確定兩個object例項是否相等。
flush
清理當前編寫器的所有緩衝區,並使所有緩衝資料寫入基礎流。
gethashcode
用作特定型別的雜湊函式,適合在雜湊演算法和資料結構中使用。
getlifetimesrvice
(從marshalbyrefobject繼承)檢索控制此例項的生存期策略的當前生存期服務物件
write
寫入流writeline
(從textwrite繼承)寫入過載引數指定的某此資料,後跟行結束符。
2
、二進位制模式
system.io
還提供了binaryreader和binarywriter類,用於按二進位制模式讀寫檔案。它們提供的一些讀寫方法是對稱的。
2.1 binaryreader
類的成員方法方法
說明 close
關閉當前閱讀器及基礎流。
peekchar
返回下乙個可用的字元,並且不提公升位元組或字元的位置。
read
從基礎流中讀取字元,並提公升流的當前位置
readboolean
從當前流中讀取boolean,並使該流的當前位置提公升1個位元組。
readbyte
從當前流中讀取下乙個位元組,並使流的當前位置提供1個位元組。
readbytes
從當前流中將count個字元讀入位元組陣列,並使當前位置提公升count個位元組。
readchar
從當前流中讀取下乙個字元,並根據所使用的encoding和從流中讀取的特定字元,提公升流的當前位置。
readchars
從當前流中讀取count字元,以字元陣列的形式返回資料,並根據所使用的encoding和從流中讀取的特定字元,提公升當前位置。
readint16
從當前流中讀取2位元組有符號整數,並使流的當前位置提公升2個位元組。
readuint16
從當前流中讀取2位元組無符號整數,並使流的當前位置提公升2個位元組。 ……
2.2 binarywriter
類的成員方法方法
說明 close
關閉當前的binarywriter和基礎流。
flush
清理當前編寫器的所有緩衝區,使所有緩衝資料寫入基礎裝置
seek
設定當前流中的位置
write
將值寫入當前流。
3
、非同步模式
先來說說同步和非同步操作之間的主要區別,同步i/o意味著在i/o操作完成之前,方法被阻塞,i/o操作完成後,方法返回其資料。使用非同步i/o,使用者可以呼叫beginread或beginwrite。主線程可以繼續進行其他工作,稍後使用者將能夠處理資料。另外,多個i/o請求可以被同時掛起。
3.1 stream
類的主要成員方法方法
說明 beginread
開始非同步讀操作
beginwrite
開始非同步寫操作
close
關閉當前流並釋放與之關聯的所有資源(如套接字和檔案控制代碼)
endread
等待掛起的非同步讀取完成。
endwrite
結束非同步寫操作。
flush
在派生類中直接重寫時,將清除該流的所有緩衝區並使所有緩衝資料被寫入到基礎設定。
read
當在派生類中重寫時,從當前流讀取位元組序列,並將此流中的位置提公升讀取的位元組婁
readbyte
從流中讀取1個位元組,並將流內的位置向前推進1個位元組,或者如果已到達流末尾,則返回-1
seek
當在派生類中重寫時,設定當前流中的位置
setlength
當在派生類中重寫時,設定當前流的長度
write
在派生類中重寫時,向當前流中寫入位元組序列並將此流中的當前位置提公升寫入的位元組數
writebyte
將乙個位元組寫入流內的當前位置並將流內的位置向前推進乙個位元組。
<
五》 path類
path
類用來處理路徑字串,它的方法也全部是靜態的。 方法
說明changextension
更改路徑字串的副檔名
combine
合併兩個路徑字串
getdirectoryname
返回指定路徑字串的目錄資訊
gextension
返回指定路徑字串的副檔名
getfilename
返回指定路徑字串的檔名
getfilenamewithoutexetension
返回不帶有副檔名的指定路徑字串我檔名
getfullpath
返回指定路徑字串的絕對路徑
gettemppath
返回當前系統的臨時資料夾的路徑
ha***tension
確定路徑是否包括副檔名。
讀寫檔案操作
匯入領導簡歷資訊 return public string leaderresumeimport throws ioexceptionelse if fr null fr.close if flag else fw.close string sjson outputclient sjson retu...
檔案讀寫操作
函式原型 file fopen const char filename,const char mode 返回值 檔案順利開啟後,指向該流的檔案指標就會被返回。如果檔案開啟失敗則返回null,並把錯誤 存在errno中 引數 mode 說明 r read,已唯讀方式開啟檔案,檔案必須存在 w writ...
檔案讀寫操作
檔案 使用方式意義 rt 唯讀開啟乙個文字檔案,只允許讀資料 wt 只寫開啟或建立乙個文字檔案,只允許寫資料 at 追加開啟乙個文字檔案,並在檔案末尾寫資料 rb 唯讀開啟乙個二進位制檔案,只允許讀資料 wb 只寫開啟或建立乙個二進位制檔案,只允許寫資料 ab 追加開啟乙個二進位制檔案,並在檔案末尾...