Beispiel #1
0
        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));
        }
Beispiel #2
0
        /// <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);
            }
        }