FileStream讀寫檔案

2021-08-15 12:15:58 字數 3204 閱讀 5934

filestream類:操作位元組的,可以操作任何的檔案

streamreader類和streamwriter類:操作字元的,只能操作文字檔案。

1、filestream類

filestream類

命名空間:   system.io

(1)建構函式:

filemode 列舉:

指定作業系統應建立乙個新的檔案。 如果該檔案已存在,則會覆蓋它。 這要求 fileiopermissionaccess.write 許可權。 filemode.create 等效於請求,如果該檔案不存在,則使用 createnew; 否則為使用 truncate。 如果該檔案已存在但為隱藏的檔案, unauthorizedacces***ception 則會引發異常。

指定作業系統應建立乙個新的檔案。 這要求 fileiopermissionaccess.write 許可權。 如果該檔案已存在, ioexception 則會引發異常。

指定作業系統應開啟現有檔案。 若要開啟該檔案的能力是依賴於指定的值 fileaccess 列舉。 乙個 system.io.filenotfoundexception 如果檔案不存在將引發異常。

指定作業系統應開啟乙個檔案,是否它存在,則否則,應建立乙個新的檔案。 如果使用開啟該檔案 fileaccess.read,fileiopermissionaccess.read 許可權是必需的。 如果檔案訪問是 fileaccess.write,fileiopermissionaccess.write 許可權是必需的。 如果使用開啟該檔案 fileaccess.readwrite,這兩個 fileiopermissionaccess.read 和 fileiopermissionaccess.write 許可權是必需的。

指定作業系統應開啟現有檔案。 當開啟檔案時,應被截斷,以便其大小為零位元組。 這要求 fileiopermissionaccess.write 許可權。 嘗試從檔案中讀取使用開啟 filemode.truncate 導致 argumentexception 異常。

(2)方法

(3)例項**

using system;

using system.collections.generic;

using system.linq;

using system.text;

using system.io;    //filestream類的命名空間

namespace filestream讀寫檔案

}}

結果為:

(4)將建立檔案流物件的過程寫在using當中,會自動的幫助我們釋放流所占用的資源。

(將資料寫入檔案)**為:

using system;

using system.collections.generic;

using system.linq;

using system.text;

using system.io;    //filestream類的命名空間

namespace filestream讀寫檔案

console.writeline("寫入完成...");

console.readkey();}}

}

執行結果為:

(5)實現多**檔案的複製

**:

using system;

using system.collections.generic;

using system.linq;

using system.text;

using system.io;    //filestream類的命名空間

namespace 多**檔案複製

public static void copyfile(string source,string target)    //自定義檔案複製函式}}}}}

執行結果:

2、streamreader類和streamwriter類

(1)streamreader 類

實現乙個 textreader,使其以一種特定的編碼從位元組流中讀取字元。

建構函式:

屬性:方法:

例項1--使用streamreader 類讀取乙個文字檔案

**:

using system;

using system.collections.generic;

using system.linq;

using system.text;

using system.io;

namespace streamreader類和streamwriter類

}console.readkey();}}

}

執行結果:

(2)streamwriter類

實現 textwriter 用於將字元寫入到流中特定的編碼。

建構函式:

方法:例項---使用streamwriter類向檔案中寫入內容

**:

using system;

using system.collections.generic;

using system.linq;

using system.text;

using system.io;

namespace streamreader類和streamwriter類

console.writeline("寫入完成...");

console.readkey();}}

}

結果:

使用FileStream物件讀寫檔案

在專案開發中經常會涉及到對檔案的讀寫,c 提供了很多種方式來對檔案進行讀寫操作,今天來說說filestream 物件。filestream表示在磁碟或網路路徑上指向檔案的流。一般操作檔案都習慣使用streamreader 和 streamwriter,因為它們操作的是字元資料 而filestream...

使用FileStream讀寫資料

這節講一下使用filestream讀寫資料,這是乙個比較基礎的流。filestream類只能處理原始位元組,所以它可以處理任何型別的檔案。先看一下它的構造方法 filestream fs new filestream demo.txt filemode.open,fileaccess.read 這個...

FileStream大檔案複製

filestream緩衝讀取和寫入可以提高效能。filestream讀取檔案的時候,是先講流放入記憶體,經flash 方法後將記憶體中 緩衝中 的資料寫入檔案。如果檔案非常大,勢必消耗效能。特封裝在filehelper中以備不時之需。參考文章 將該文章中提供的 少做修改,原文中進行了強制型別轉換,如...