https://download.csdn.net/download/sns1991sns/88041637
gitee下载地址:https://gitee.com/linsns/snssharp
使用举例:
TxtFile txtFile = new TxtFile("6.txt");
//写入
txtFile.WriteAtLastRow("要写入的字符串文本");
//读取
string txt = txtFile.ReadAtLastRow();
txtFile.Close();
其中TxtFile类源码如下:
public class TxtFile
{
private FileStream fs = null;
private StreamWriter sw = null;
private StreamReader sr = null;
/// <summary>
///
/// </summary>
public TxtFile(string filePath)
{
fs = new FileStream(filePath, FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.ReadWrite);
sw = new StreamWriter(this.fs, Encoding.UTF8);
sr = new StreamReader(this.fs, Encoding.UTF8);
}
~TxtFile()
{
if (sw != null)
{
sw.Close();
sw = null;
}
if (sr != null)
{
sr.Close();
sr = null;
}
if (fs != null)
{
fs.Close();
fs = null;
}
}
/// <summary>
/// 写入文本到末尾行
/// </summary>
/// <param name="stringIn">要写入的文本</param>
public void WriteAtLastRow(string strLine)
{
this.fs.Seek(0, SeekOrigin.End);
sw.WriteLine(strLine);
}
/// <summary>
/// 删除指定行文本
/// </summary>
/// <param name="index">要删除的位置</param>
public void DeleteRow(int index)
{
List<string> listString = new List<string>();
this.fs.Seek(0, SeekOrigin.Begin);
while (!sr.EndOfStream)
{
//string[] date = sr.ReadLine().Split(new char[] { ':' }, StringSplitOptions.None);
string str = sr.ReadLine();
listString.Add(str);
}
listString.RemoveAt(index);
for (int i = 0; i < listString.Count; i++)
{
sw.WriteLine(listString[i]);
}
}
/// <summary>
/// 读取末尾行文本
/// </summary>
/// <returns></returns>
public string ReadAtLastRow()
{
List<string> listString = new List<string>();
this.fs.Seek(0, SeekOrigin.Begin);
while (!sr.EndOfStream)
{
//string[] date = sr.ReadLine().Split(new char[] { ':' }, StringSplitOptions.None);
string str = sr.ReadLine();
listString.Add(str);
}
return listString[listString.Count - 1];
}
/// <summary>
/// 关闭文件
/// </summary>
public void Close()
{
if (sw != null)
{
sw.Close();
sw = null;
}
if (sr != null)
{
sr.Close();
sr = null;
}
if (fs != null)
{
fs.Close();
fs = null;
}
}
}
技术交流
QQ群: 577276243