C# TXT 파일의 읽기 및 쓰기

3651 단어 ASP.NET 기술C#
    /// 
        ///      
        /// 
        ///     
        ///     
        ///        
        /// 
        public static KeyValuePair CreateFile(string path, string name, string contents)
        {
            name = path + "\\" + name;
            var pair = new KeyValuePair(true, name);

            //        
            if (!Directory.Exists(path))
            {
                Directory.CreateDirectory(path);
            }
            try
            {
                FileStream fs;
                //        ,        ,    ,     
                if (File.Exists(name))
                {
                    ClearTxt(name);
                    fs = new FileStream(name, FileMode.Append, FileAccess.Write);
                }
                else
                {
                    fs = new FileStream(name, FileMode.Create, FileAccess.Write);
                }

                //          ANSI,   utf-8 
                using (var sw = new StreamWriter(fs, Encoding.Default))
                {
                    sw.Write(contents);
                    sw.Close();
                }
                fs.Close();
            }
            catch (Exception ex)
            {
                pair = new KeyValuePair(false, ex.Message);
            }
            return pair;
        }

        /// 
        ///       
        /// 
        /// 
        public static void ClearTxt(string txtPath)
        {
            using (var stream = File.Open(txtPath, FileMode.OpenOrCreate, FileAccess.Write))
            {
                stream.Seek(0, SeekOrigin.Begin);
                stream.SetLength(0);

                stream.Close();
            }
        }
        /// 
        ///      
        /// 
        ///        
        /// 
        public static KeyValuePair> ReadFile(string path)
        {
            var pair = new KeyValuePair>();
            var str = new List();
            try
            {
                using (FileStream fs = new FileStream(path, FileMode.Open))
                {
                    using (StreamReader sr = new StreamReader(fs, Encoding.Default))
                    {
                        while (!sr.EndOfStream)
                        {
                            string sLine = sr.ReadLine();
                            if (sLine.Length < 1)
                            {
                                continue;
                            }
                            str.Add(sLine);
                        }
                    }
                }
                if (str.Contains(""))
                {
                    str.Add("         ");
                    pair = new KeyValuePair>(false, str);
                }
                else
                {
                    pair = new KeyValuePair>(true, str);
                }
            }
            catch (Exception ex)
            {
                str.Add(ex.Message);
                pair = new KeyValuePair>(false, str);
            }
            return pair;
        }

호출 예:
읽기: basCommon.ReadFile("http://**** 경로/info.txt")
쓰기: basCommon.CreateFile("http://**** 경로", "파일 이름.txt", 파일 내용)

좋은 웹페이지 즐겨찾기