C# 文件寫入

/// <summary>
        /// 寫入數據
        /// </summary>
        /// <param name="logNumber">傳入數字標記寫入的是文件一還是文件二,根據傳入數字的不同進行寫入</param>
        /// <param name="log">日誌內容</param>
        public static void write(int logNumber, string log)
        {
            //判斷是否是當天,如果是當天繼續添加文件,如果不是當天日誌重新進行創建
            //創建時需要指定創建文件夾
            //每條日誌前要加上當天時間

            //獲取文件名稱
            string fileName = DateTime.Now.ToString("yyyy-MM-dd") + " log" + logNumber.ToString() + ".txt";

            //打開或創建文件
            FileStream fileStream = new FileStream(fileName, FileMode.OpenOrCreate, FileAccess.Write, FileShare.ReadWrite);
            //創建字節數組
            byte[] data = null;

            //通過讀取系統時間來獲取當天日期
            string time = DateTime.Now.ToString("yyyy-MM-dd");
            
            //判斷當天是否存在文件,並且判斷文件是否存在內容
            if (FileCreateTime(fileName).Equals(time) && fileStream.Length == 0)
            {
                data = System.Text.Encoding.Default.GetBytes(File.GetCreationTime(fileName)+" " + log);
                fileStream.Write(data, 0, data.Length);

                fileStream.Flush();
                fileStream.Close();
            } else {
                data = System.Text.Encoding.Default.GetBytes("\t\n" + File.GetCreationTime(fileName) + " " + log);
                fileStream.Position = fileStream.Length;
                fileStream.Write(data, 0,data.Length);
            }
            
        }
        
        /// <summary>
        /// 獲取文件創建日期
        /// </summary>
        /// <returns></returns>
        private static string FileCreateTime(string fileName)
        {
            string year = File.GetCreationTime(fileName).Year.ToString();
            string month = File.GetCreationTime(fileName).Month.ToString();
            string day = File.GetCreationTime(fileName).Day.ToString();
            if(int.Parse(month) < 10) {
                month = "0" + month;
            }
            if(int.Parse(day) < 10) {
                day = "0" + day;
            }
            return year+"-"+month+"-"+day;
        }

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章