標籤:class blog code ext get 檔案
解決讀取文字檔亂碼問題。我採取的是讀取前先判斷文字檔格式。
StreamReader sr = new StreamReader(fullfileName, GetFileEncodeType(fullfileName))
public System.Text.Encoding GetFileEncodeType(string filename) { System.IO.FileStream fs = new System.IO.FileStream(filename, System.IO.FileMode.Open, System.IO.FileAccess.Read); System.IO.BinaryReader br = new System.IO.BinaryReader(fs); Byte[] buffer = br.ReadBytes(2); if (buffer[0] >= 0xEF) { if (buffer[0] == 0xEF && buffer[1] == 0xBB) { return System.Text.Encoding.UTF8; } else if (buffer[0] == 0xFE && buffer[1] == 0xFF) { return System.Text.Encoding.BigEndianUnicode; } else if (buffer[0] == 0xFF && buffer[1] == 0xFE) { return System.Text.Encoding.Unicode; } else { return System.Text.Encoding.Default; } } if (buffer[0] == 0x3c)//utf-8無bom格式 { return System.Text.Encoding.UTF8; } else { return System.Text.Encoding.Default; } }