利用streamwriter類和streamreader類實現讀寫txt檔案
1. streamwriter有7個建構函式
(1) streamwriter(stream) // 用 utf-8 編碼及預設緩衝區大小,為指定的流初始化 streamwriter 類的乙個新例項。
//filestream stream = new filestream(@"d:\a.txt",filemode.createnew);
(2) streamwriter (string) // 使用預設編碼和緩衝區大小,為指定路徑上的指定檔案初始化streamwriter 類的新例項。
(3) streamwriter (stream, encoding) // 用指定的編碼及預設緩衝區大小,為指定的流初始化 streamwriter 類的新例項。(預設寫入編碼為utf8)
(4) streamwriter (string, boolean) // 使用預設編碼和緩衝區大小,為指定路徑上的指定檔案初始化 streamwriter 類的新例項。
//true表示如果該檔案存在,則可以向其追加。false表示將其全部重寫。如果該檔案不存在,則此建構函式將建立乙個新檔案。(本例中使用)
(5) streamwriter (stream, encoding, int32) // 用指定的編碼及緩衝區大小,為指定的流初始化 streamwriter 類的新例項。int為緩衝區大小
(6) streamwriter (string, boolean, encoding) // 使用指定編碼和預設緩衝區大小,為指定路徑上的指定檔案初始化 streamwriter 類的新例項。
//true表示如果該檔案存在,則可以向其追加。false表示將其全部重寫。如果該檔案不存在,則此建構函式將建立乙個新檔案。
(7) streamwriter (string, boolean, encoding, int32) // 使用指定編碼和緩衝區大小,為指定路徑上的指定檔案初始化 streamwriter 類的新例項。
//true表示如果該檔案存在,則可以向其追加。false表示將其全部重寫。如果該檔案不存在,則此建構函式將建立乙個新檔案。
2. streamwriter的方法
(1) write(string) //直接將string寫入到檔案中
(2) writeline(string) //寫完string加了乙個回車換行
(3) close() // 關閉當前的 streamwriter 物件和基礎流
3.streamreader的建構函式
(1) streamreader(stream) //為指定的流初始化 streamreader 類的新例項。
(2)streamreader(string) //為指定的檔名初始化 streamreader 類的新例項。 (本例中使用)
(3)streamreader(stream, boolean) //用指定的位元組順序標記檢測選項,為指定的流初始化 streamreader 類的乙個新例項。
(4)streamreader(stream, encoding) //用指定的字元編碼為指定的流初始化 streamreader 類的乙個新例項。
(5)streamreader(string, boolean) //為指定的檔名初始化 streamreader 類的新例項,帶有指定的位元組順序標記檢測選項。
(6)streamreader(string, encoding) //用指定的字元編碼,為指定的檔名初始化 streamreader 類的乙個新例項。
(7)streamreader(stream, encoding, boolean) //為指定的流初始化 streamreader 類的新例項,帶有指定的字元編碼和位元組順序標記檢測選項。
(8)streamreader(string, encoding, boolean) //為指定的檔名初始化 streamreader 類的新例項,帶有指定的字元編碼和位元組順序標記檢測選項。
(9)streamreader(stream, encoding, boolean, int32) //為指定的流初始化 streamreader 類的新例項,帶有指定的字元編碼、位元組順序標記檢測選項和緩衝區大小。
(10)streamreader(string, encoding, boolean, int32) //為指定的檔名初始化 streamreader 類的新例項,帶有指定字元編碼、位元組順序標記檢測選項和緩衝區大小。
4.streamreader的方法
(1) readline() //從當前流中讀取一行字元並將資料作為字串返回。(2) read() //單字元讀取
(3) dispose() //釋放非託管資源,例如檔案控制代碼,網路連線等。
1using system;
2using system.collections.generic;
3using system.linq;
4using system.web;
5using system.io;
6using system.text;78
namespace pmu.models926
27 strpath = strpath + "\\" + datetime.tostring("yyyy");
28if (directory.exists(strpath) == false)29
3233 strpath = strpath + "\\" + datetime.year.tostring() + "-"
+ datetime.month.tostring() + "-" + datetime.day.tostring() +".txt";
3435 streamwriter filewriter = new streamwriter(strpath, true); //
建立日誌檔案
36 filewriter.writeline("[" + datetime.tostring("yyyy-mm-dd hh:mm:ss") + "] " +msg);
37filewriter.close();
38return
true;39
}40catch
(exception ex)
4145}46
47//
讀取日誌
48public string readlogtxt(string filename)
49
60 streamreader streamreader = new
streamreader(filepath);
6162 string str = "";
63 string strline =streamreader.readline();
64while ((strline) != null)65
71streamreader.close();
72streamreader.dispose();
73return
str;74}
75}76 }
ps:這兩個類還有些方法和屬性沒用到,以後再更新
C 讀寫txt檔案
首先windows 7中的txt文件中,預設每行末尾會加 r 和 n 表示此行結束。回車表示游標移到行首,換行表示游標移至下一行,所以二者要配合使用。因此利用string的split函式讀取txt檔案是就需要額外加入換行符和回車符作為分隔符。例外一點就是split函式讀取至每行結束時,雖然行尾換行符...
c 讀寫txt檔案
最近專案又遇到了乙個問題,最初我把上傳失敗的記錄儲存在配置檔案中,這個失敗的記錄有上百條,導致在配置檔案中的value很長,這樣在vs中就破壞了xml的結構,導致xml不能正確解析。最後決定將這些上傳失敗的記錄單獨儲存在乙個txt文字中,這樣就需要對txt進行讀寫。方法其實還是很簡單的,但是讀寫完一...
C 讀寫檔案txt
為了定量 詳細 準確的獲取資料,寫乙個c 去記錄呼叫的值 include include include windos庫 using namespace std fstream 該資料型別通常表示檔案流,且同時具有 ofstream 和 ifstream 兩種功能,這意味著它可以建立檔案,向檔案寫入...