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