除了使用filestream類讀寫文字檔案,.net還提供了streamwriter類和streamreader類專門處理文字檔案。這兩個類從底層封裝了檔案流,讀寫時不用重新編碼,提供了更檔案的讀寫方式。
streamwriter類允許將字元和字串寫入到檔案中,不必轉換為位元組,它處理底層的轉換,向filestream物件寫入資料。
一、建立streamwrite物件
如果已經有了filestream物件,則可以使用此物件來建立streamwriter物件:
filestream fs = new filestream("test.txt",filemode.createnew);
streamwriter sw = new streamwriter(fs);
也可以直接從檔案中建立streamwriter物件:
streamwriter sw = new streamwriter("test.txt",true);
此建構函式中有兩個引數,乙個是檔名,另乙個是布林值,這個布林值規定建立物件的方式如下:
如果此值為false,則建立乙個新檔案,如果存在原檔案,則覆蓋。
如果此值為true,則開啟檔案保留原來資料,如果找不到檔案,則建立新檔案。
與 建立filestream物件不同,建立streamwriter物件不會提供一組類似的選項:除了使用boolean值新增到檔案的末尾或建立新檔案之 外,根本沒有像filestream類那樣指定filemode屬性的選項。而且,沒有設定fileaccess屬性的選項,因此總是有對檔案的讀/寫權 限。為了使用高階引數,必須先在filestream建構函式中指定這些引數,然後在filestream物件中建立streamwriter。
using system;
using system.collections.generic;
using system.text;
using system.io;
class program
catch (ioexception ex)}}
編譯並執行該專案。如果沒有發現錯誤,則專案會很快執行,並關閉。因為我們在控制台上沒有顯示任何內容,所以在控制台中無法看到程式的執**況。
這個簡單的應用程式演示了streamwriter類的兩個最重要的方法:write()和writeline()。這兩個方法具有許多過載的版本,可以完成更高階的檔案輸出,但是本示例只使用基本的字串輸出。
writeline()方法會寫入傳遞給它的字串,其後跟有換行符。
write()方法只是把傳送給它的字串寫入檔案,但不追加換行符,因此可以使用多個write()語句寫入完整的句子或段落。
注意:如果路徑不存在,會丟擲異常,當然我們這個程式捕獲了異常。
C 使用 StreamWriter 寫入資料
networkstream 類 memorystream類 和 filestream 類都提供了以位元組為基本單位的讀寫方法,但是這種方法首先將待寫入的資料轉換為位元組序列後才能進行讀寫,當操作的是使用字元編碼的文字資料時,使用很不方便。因此,在操作文字資料時,一般使用streamwriter 類與...
C 對於StreamWriter類的使用
在streamwriter類中包含乙個私有的stream,如果你使用public streamwriter string path 這個建構函式,streamwriter會主動建立乙個filestream 如果你使用public streamwriter stream stream 這個建構函式,s...
StreamWriter儲存檔案
if fi.exists endregion else 在iis裡面如果你的web.config沒有配置使用者許可權的話,是不允許寫的,但配置了許可權又會太大了,所以我們可以通過另外一種方式來實現,檔案的寫入。如圖 這裡我們可以對某乙個資料夾付許可權,方法是對這資料夾點右鍵,找到安全,若是serve...