//注:对于读取/写入文件操作时,需判断当前文件是否存在
using System.IO;
using System.Text;
namespace Callno.Common
{
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 SaveLogToTxt(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))
{
sw.WriteLine(text);
sw.Flush();
sw.Close();
}
}
public void SaveText(string dir, string fileName, string WriteTxt)
{
try
{
if (!Directory.Exists(dir)) Directory.CreateDirectory(dir);
//创建一个文件流,用以写入或者创建一个StreamWriter
FileStream fs = new FileStream(dir + "\\" + fileName + ".txt",
FileMode.OpenOrCreate, FileAccess.Write);
StreamWriter streamWriter = new StreamWriter(fs);
streamWriter.Flush();
// 使用StreamWriter来往文件中写入内容
streamWriter.BaseStream.Seek(0, SeekOrigin.End);
// 把richTextBox1中的内容写入文件
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);
// 第三步:读取操作
//sr.ReadLine() 读取一行 可用 sr.EndOfStream 判断是否到了文件尾
// sr.ReadToEnd(); // 读取到最后(读取全部)
result = sr.ReadToEnd();
sr.Close(); /*第四步:关闭读取器 */
fileStream.Close(); /*第五步:关闭文件流*/
}
catch { return result; }
return result;
}
}
}
博客内容主要用于日常学习记录,内容比较随意,如有问题,还需谅解!!!

浙公网安备 33010602011771号