C 讀寫txt檔案

2022-09-12 13:06:14 字數 3652 閱讀 5955

利用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() //釋放非託管資源,例如檔案控制代碼,網路連線等。

1

using 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 兩種功能,這意味著它可以建立檔案,向檔案寫入...