C 讀寫文字檔案亂碼解決方案

2021-06-26 04:52:45 字數 1218 閱讀 9170

在使用c#對文字檔案讀取的時候,如果其中包含了中文,經常會出現亂碼。一般解決是在streamreader加乙個編碼,我使用的是encoding.utf8,一般情況下使用這個引數就可以。但是,在這次我使用utf8卻無效。而且使用,unicode和utf32都會使用streamreader的endofstream在讀取一行之後,就會變成true。我想原因可能是使用這種編碼沒有正確讀取出換行符,使讀取一次之後就到達了檔案末尾。

附:原文:

在對文字檔案進行讀取的時候,如果其中包含了中文,可能就會有亂碼的出現,解決方法很簡單。只需要在讀取出來的時候streamreader加乙個編碼就可以了。**如下:

using system.io;

streamreader sr = new streamreader(filename,encoding.getencoding("gb2312"));//filename為檔案的絕對路徑

由於c#操作檔案的內容網上有很多,我就不詳細說明了,下面給出兩個函式,分別用來讀取和寫入文字檔案,記得引用system.io;

///

/// 功能:

/// 在指定的檔案filename處生成該檔案,並且以內容content來填充。

///

/// 檔名

/// 檔案內容

public static void createfile(string filename,string content)

catch(ioexception ioe)

}///

/// 功能:

/// 在檔案的最前面加入內容content

///

/// 檔名

/// 插入的內容

public static void insertfile(string filename,string content)

catch(ioexception ioe)

}///

/// 功能:

/// 在檔案末尾增加指定內容content

///

/// 檔名

/// 新增內容

{try

{string filecontent = "";

streamreader sr = new streamreader(filename,encoding.getencoding("gb2312"));

filecontent += sr.readtoend() + content;//如

C 讀寫文字檔案亂碼解決方案

在使用c 對文字檔案讀取的時候,如果其中包含了中文,經常會出現亂碼。一般解決是在streamreader加乙個編碼,我使用的是encoding.utf8,一般情況下使用這個引數就可以。但是,在這次我使用utf8卻無效。而且使用,unicode和utf32都會使用streamreader的endofs...

C 讀寫文字檔案亂碼解決方案

在使用c 對文字檔案讀取的時候,如果其中包含了中文,經常會出現亂碼。一般解決是在streamreader加乙個編碼,我使用的是encoding.utf8,一般情況下使用這個引數就可以。但是,在這次我使用utf8卻無效。而且使用,unicode和utf32都會使用streamreader的endofs...

C 之四十二 C 讀寫文字檔案亂碼解決方案

在對文字檔案進行讀取的時候,如果其中包含了中文,可能就會有亂碼的出現,解決方法很簡單。只需要在讀取出來的時候streamreader加乙個編碼就可以了。如下 using system.io streamreader sr new streamreader filename,encoding.gete...