using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Threading; using System.Threading.Tasks; namespace JY.Utility { public class TxtHelper { static ReaderWriterLockSlim sucessLogWriteLockSlim = new ReaderWriterLockSlim(); /// /// 写入TEXT文本 /// /// 文件名 /// 内容 /// 保存结果 public static bool WriteTxt(string fullName, string content) { FileStream fs = null; StreamWriter sw = null; try { string directory = fullName.Substring(0, fullName.LastIndexOf('\\')); if (!Directory.Exists(directory)) { Directory.CreateDirectory(directory); } sucessLogWriteLockSlim.EnterWriteLock();//加锁防止抢占 if (!File.Exists(fullName)) { fs = new FileStream(fullName, FileMode.Create, FileAccess.Write); sw = new StreamWriter(fs, Encoding.UTF8); } else { fs = new FileStream(fullName, FileMode.Append, FileAccess.Write); sw = new StreamWriter(fs, Encoding.UTF8); } sw.WriteLine(content); sw.Close(); fs.Close(); return true; } catch (Exception ex) { sw?.Close(); fs?.Close(); } finally { sucessLogWriteLockSlim.ExitWriteLock(); } return false; } } }