public static T XmlDeserializeFromFile <T>(string path) { if (!File.Exists(path)) { return(default(T)); } Encoding encoding = Encoding.Default; using (FileStream fs = new FileStream(path, FileMode.Open)) { EncodingDetector2 dec = new EncodingDetector2(fs); encoding = dec.FileEncoding; } return(XmlDeserializeFromFile <T>(path, encoding)); }
/// <summary> /// 读取文件内容 /// </summary> /// <param name="filePath">路径</param> /// <param name="encoding">文件编码</param> /// <returns></returns> public static string Read(string filePath, out Encoding encoding) { encoding = Encoding.Default; if (!File.Exists(filePath)) { return(""); } using (FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.Read, FileShare.Read)) { EncodingDetector2 dec = new EncodingDetector2(fs); encoding = dec.FileEncoding; } using (TextReader text = new StreamReader(filePath, encoding)) { string content = text.ReadToEnd(); text.Close(); return(content); } }