C# 书写TXT日志文件的方法
书写TXT日志文件的C#类库
using System; using System.IO; namespace UnifyPayPlatform.Controller { public class WriteLog { /// <summary> /// 书写日志文件 /// </summary> /// <param name="str">书写日志主内容</param> /// <param name="Transtype">日志标识</param> public void WriteLogPay(string str,string Transtype) { // 指定要创建或覆盖的文本文件路径 //请确保目录文件夹的存在UnifyPay string filePath = "UnifyPay\\Log" + DateTime.Now.ToString("yyyyMMdd") +".txt"; try { //判断文件是否存在 if (File.Exists(filePath)) { //追加行记录 using (StreamWriter writer = File.AppendText(filePath)) { // 将内容写入文本文件 writer.WriteLine("[" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + ":]["+ Transtype + "]"); writer.WriteLine(str); } } else { //不存在文件则创建书写内容 using (StreamWriter writer = new StreamWriter(filePath)) { // 将内容写入文本文件 writer.WriteLine("[" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + ":][" + Transtype + "]"); writer.WriteLine(str); } } } catch (Exception ex) { Console.WriteLine($"发生错误:{ex.Message}"); } } } }
上述代码中用到的方法
1、File.Exists(filePath)
判断指定目录文件是否存在
//判断文件是否存在 if (File.Exists(filePath)) { ... } else { ... }
2、StreamWriter writer = new StreamWriter(filePath)
文件不存在则创建文件,并且新建书写器writer
//不存在文件则创建书写内容 using (StreamWriter writer = new StreamWriter(filePath)) { writer.WriteLine("[" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + ":][" + Transtype + "]"); writer.WriteLine(str); }
3、writer.WriteLine(str)
写一行内容
writer.WriteLine("[" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + ":][" + Transtype + "]")
4、StreamWriter writer = File.AppendText(filePath)
新建书写器writer,追加新内容
//追加行记录 using (StreamWriter writer = File.AppendText(filePath)) { writer.WriteLine("[" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + ":]["+ Transtype + "]"); writer.WriteLine(str); }