C IO流檔案操作

2022-04-05 05:52:22 字數 2335 閱讀 5766

我們知道,程式中的資料通常儲存在記憶體中,當程式關閉時其對應的記憶體空間就會被釋放掉,也就是說我們在程式中所作的操作或對資料的更改會在程式結束時自動刪除,沒辦法永久的儲存,如果你想永久的儲存這些資料,則可以考慮使用資料庫或檔案對這些資料在磁碟上進行儲存,資料庫適合儲存比較龐大的資料量當資料比較簡單時使用資料庫儲存操作複雜,且成本較高。而檔案則適合對簡單資料進行儲存。比如很多程式的使用者配置資訊都儲存在檔案中!

通常來講,用c#程式對鞋乙個檔案需要以下5個步驟

建立乙個檔案流

建立閱讀器或寫入器

執行讀寫操作

關閉閱讀器或寫入器

關閉檔案流

注意:在對檔案進行操作之前需要引入io命名空間

using system.io;

這個命名空間用於對檔案和檔案流的處理

讀寫檔案的第一步就是建立檔案流,流是乙個用於資料傳輸的個物件,它是filestream型別,在建立乙個檔案流是需要在他的構造中指定引數

filestream 檔案流物件=new filestream( string filepath,filemode filemode);

其中filepath用於指定要操作的檔案,filemode用於指定檔案的開啟方式,它是乙個列舉型別,

filemode的常用成員如下:

建立檔案流之後,我們要建立讀取器或者寫入器,streamwrite被稱為寫入器只要將建立好的檔案流傳入就可以建立它的例項

streamwriter sw=new streamwriter(檔案流物件);

建立好寫入器之後我們就可以呼叫他的方法向檔案類檔案流,其主要方法如下:

注意:當寫入器使用完畢後一定要呼叫close()方法關閉寫入器,否則會發生要寫的內容無法寫入檔案的情況。

streamreader主要用於讀取流中的資料,它主要包含以下方法:

用streamreader讀取檔案中的中文文字,有事會出現亂碼問題。這並不是c#語言的問題,有可能是因為編碼格式的問題。在讀取檔案是指定對應的編碼格式已解決亂碼問題。

如:streamreader myfil=new streamreader(檔案流物件,encoding.default);

encoding的靜態成員指定編碼格式。如:

file類的常用方法

返回值型別

方法名稱

說明 bool

exists(string path)

用於檢查指定檔案是否存在

void

copy(string sourcefilepath,string destinationfilepath)

將指定路徑的原檔案中的內容複製到目標檔案中,如果目標檔案不存在,則在指定路徑中新建乙個檔案

void

move(string sourcefilepath,string  destfilename)

將制定問價移動到乙個新的路徑

void

delete(string path)

刪除指定的檔案,如果指定的檔案不存在,則不引發異常

file類對檔案進行操作而directory類對目錄進行操作(資料夾)

directory類的常用方法

返回值型別

方法名稱

說明 bool

exists(string path)

用於檢查指定資料夾在磁碟上是否存在

void

move(string sourcedirname,string destdirname)

用於將檔案或目錄檔案及其內容移到新位置

void

delete(string path,bool recursive)

刪除指定目錄,如果recursive值為true,則刪除子目錄中的所有目錄內容

靜態類只含有靜態方法,不能使用new關鍵字建立靜態類的例項。

靜態類與非靜態類的區別

靜態類非靜態類

用static修飾

不用static修飾

只包含靜態成員

可以包含靜態成員

不可以包含例項成員

可以包含例項成員

使用類名呼叫靜態成員

使用例項物件呼叫非靜態成員

不能被例項化

可以被例項化

不能包含例項建構函式

包含例項建構函式

前面的file類和directory類都用靜態方法操作檔案和目錄,其實.net框架提供了用例項方法操作檔案和目錄的類

fileinfo、directoryinfo和file、directory類似都可以完成同樣的對檔案或目錄的操作,但是fileinfo和directoryinfo類必須例項化物件,使用物件呼叫方法!

C IO流的操作(二)

檔案在作業系統中是以二進位制 01 的形式儲存到磁碟上的,在c 程式當中,我們可以通過讀取流將檔案讀取到byte當中 讀到記憶體中 也可以通過寫入流將byte寫入檔案 儲存到磁碟上 下面將演示一例檔案與資料庫結合的示例 將檔案儲存到資料庫,再從資料庫還原為檔案。寫入檔案到資料庫部分 寫入按鈕事件 p...

C IO流的操作(二)

檔案在作業系統中是以二進位制 01 的形式儲存到磁碟上的,在c 程式當中,我們可以通過讀取流將檔案讀取到byte當中 讀到記憶體中 也可以通過寫入流將byte寫入檔案 儲存到磁碟上 下面將演示一例檔案與資料庫結合的示例 將檔案儲存到資料庫,再從資料庫還原為檔案。寫入檔案到資料庫部分 寫入按鈕事件 p...

c IO類,檔案操作

c io類主要分三種 博文參考 輸入 從裝置 檔案 緩衝區 記憶體 輸出 記憶體 緩衝區 裝置 檔案 istream ostream osstream 類 1 典型物件 cin 1 cin 操作符是根據後面變數的型別讀取資料。輸入結束條件 遇到enter space tab鍵。對結束符的處理 丟棄緩...