/// <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;
}