檔案操作 讀寫檔案

2021-06-13 10:59:16 字數 3591 閱讀 2424

對檔案的讀寫操作應該是最重要的檔案操作,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 追加開啟乙個二進位制檔案,並在檔案末尾...