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中以備不時之需。參考文章 將該文章中提供的 少做修改,原文中進行了強制型別轉換,如...