using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; namespace MECF.Framework.Common.Utilities { public class FileHelper { //定义一个用于保存静态变量的实例 private static FileHelper instance = null; //定义一个保证线程同步的标识 private static readonly object locker = new object(); //构造函数为私有,使外界不能创建该类的实例 private FileHelper() { } public static FileHelper Instance { get { if (instance == null) { lock (locker) { if (instance == null) instance = new FileHelper(); } } return instance; } } public void SaveNewLineDataToTxt(string dir, string filePath, string text, bool isAppend = false) { if (!Directory.Exists(dir)) Directory.CreateDirectory(dir); filePath = filePath + ".txt"; using (StreamWriter sw = new StreamWriter(filePath, isAppend, Encoding.UTF8)) { sw.WriteLine(text); sw.Flush(); sw.Close(); } } public void SaveNewLineDataToTxt(string fullFilePath, string text, bool isAppend = false) { string dir = fullFilePath.Substring(0, fullFilePath.LastIndexOf('\\')); if (!Directory.Exists(dir)) Directory.CreateDirectory(dir); using (StreamWriter sw = new StreamWriter(fullFilePath, isAppend, Encoding.UTF8)) { sw.WriteLine(text); sw.Flush(); sw.Close(); } } public void SaveText(string fullFileName, string WriteTxt) { try { string dir= fullFileName.Substring(0, fullFileName.LastIndexOf('\\')); if (!Directory.Exists(dir)) Directory.CreateDirectory(dir); FileStream fs = new FileStream(fullFileName, FileMode.OpenOrCreate, FileAccess.Write); StreamWriter streamWriter = new StreamWriter(fs, Encoding.UTF8); streamWriter.Flush(); streamWriter.BaseStream.Seek(0, SeekOrigin.End); streamWriter.WriteLine(WriteTxt); streamWriter.Flush(); streamWriter.Close(); } catch { } } public void SaveText(string dir, string fileName, string WriteTxt) { try { if (!Directory.Exists(dir)) Directory.CreateDirectory(dir); FileStream fs = new FileStream(dir + "\\" + fileName + ".txt", FileMode.OpenOrCreate, FileAccess.Write); StreamWriter streamWriter = new StreamWriter(fs, Encoding.UTF8); streamWriter.Flush(); streamWriter.BaseStream.Seek(0, SeekOrigin.End); streamWriter.WriteLine(WriteTxt); streamWriter.Flush(); streamWriter.Close(); } catch { } } public string ReadAllText(string filePath) { if (!File.Exists(filePath)) return filePath + ",文件不存在"; return File.ReadAllText(filePath); } public string ReadFileStream(string filePath) { string result = string.Empty; try { if (!File.Exists(filePath)) return filePath + ",文件不存在"; FileStream fileStream = new FileStream(filePath, FileMode.Open, FileAccess.ReadWrite, FileShare.ReadWrite); StreamReader sr = new StreamReader(fileStream, Encoding.Default); result = sr.ReadToEnd(); sr.Close(); fileStream.Close(); } catch { return result; } return result; } } }