在使用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...