嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):78630559
本次赞助数额为: 1 元微信扫码支付:1 元
请留下您的邮箱,我们将在2小时内将文件发到您的邮箱
用C# Winform 3层开发结构操作.txt文件信息(增删改查),要操作的.txt文件在DBUtxt.UI\DBUtxt.UI\bin\Debug中,项目里可以找到。
Model层:
namespace DBUtxt.Model
{
public class TXTInfo
{
private string _diskpath;
public string DiskPath
{
get { return _diskpath; }
set { _diskpath = value; }
}
private string _filename;
public string FileName
{
get { return _filename; }
set { _filename = value; }
}
}
}
DAL层
using System.Collections.Generic;
using System.Data;
using System.IO;
using System.Text;
namespace DBUtxt.DAL
{
public class Operationtxtdal
{
string path = "BookInfo.txt";
public DataTable ReadFile()
{
DataTable dt = new DataTable();
dt.Columns.Add("编号", typeof(string));
dt.Columns.Add("书名", typeof(string));
dt.Columns.Add("类型", typeof(string));
dt.Columns.Add("作者", typeof(string));
dt.Columns.Add("价格", typeof(string));
dt.Columns.Add("来源", typeof(string));
using (StreamReader reader = new StreamReader(path, Encoding.Default))
{
while (!reader.EndOfStream)
{
string[] data = reader.ReadLine().TrimEnd().TrimStart().Split(' ');
DataRow dr = dt.NewRow();
if (data.Length == 6)
{
for (int i = 0; i < data.Length; i )
{
dr[i] = data[i];
}
dt.Rows.Add(dr);
}
}
}
return dt;
} //读文件
public void Add(string a)
{
FileStream fs = new FileStream(path, FileMode.Append);
StreamWriter sw = new StreamWriter(fs, Encoding.Default);
StringBuilder _builder = new StringBuilder();
_builder.Append(a);
sw.WriteLine(_builder.ToString());
sw.Flush();
sw.Close();
}//写txt文件,增加
//将dt转换成字符串
public string DeleteFile(DataTable dt, List<string> _list)
{
string s="";
FileStream fs = new FileStream(path, FileMode.Create);
StreamWriter sw = new StreamWriter(fs, Encoding.Default);
for (int i = 0; i < dt.Rows.Count; i )
{
s = "";
if (_list.Contains(dt.Rows[i]["编号"].ToString()))//选中的n行,就不写到.txt里面了
continue;
for (int j = 0; j < dt.Columns.Count; j )
{
s = s dt.Rows[i][j] " ";
}
s = s.TrimEnd();
sw.WriteLine(s);
}
sw.Flush();
sw.Close();
return s;
} //删除txt文档中的n行信息
public string ModifyFile(DataTable dr)
{
string s = "";
FileStream fs = new FileStream(path, FileMode.Create);
StreamWriter sw = new StreamWriter(fs, Encoding.Default);
for (int i = 0; i < dr.Rows.Count; i )
{
s = "";
for (int j = 0; j < dr.Columns.Count; j )
{
s = s dr.Rows[i][j] " ";
}
s = s.TrimEnd();
sw.WriteLine(s);
}
sw.Flush();
sw.Close();
return s;
}
}
}
BLL层:
using DBUtxt.DAL;
using System.Collections.Generic;
using System.Data;
using System.IO;
using System.Windows.Forms;
namespace DBUtxt.BLL
{
public class Operationtxtbll
{
Operationtxtdal _txtdal = new Operationtxtdal();
/// <summary>
/// UI端传入的两个值,创建*.txt文件,不是内容。
/// </summary>
/// <param name="diskpath"></param>
/// <param name="filename"></param>
public void CreatFile1(string diskpath, string filename)
{
if (diskpath == "")
{
MessageBox.Show("请选择存储磁盘!");
return;
}
if (filename == "")
{
MessageBox.Show("请输入文件名!");
return;
}
else
{
if (File.Exists(diskpath filename ".txt"))
{
MessageBox.Show("该文件已经存在!");
}
else
{
File.Create(diskpath filename ".txt");
}
}
}
/// <summary>
/// 写文件
/// </summary>
/// <param name="a"></param>
public void WriteFile1(string a)
{
_txtdal.Add(a);
}
/// <summary>
/// 读文件
/// </summary>
/// <returns></returns>
public DataTable ReadFile1()
{
DataTable tb = _txtdal.ReadFile();
return tb;
}
/// <summary>
/// 删除
/// </summary>
/// <param name="dt"></param>
/// <param name="_list"></param>
public void DeleteFile1(DataTable dt,List<string> _list)
{
_txtdal.DeleteFile(dt, _list);
}
/// <summary>
/// 修改
/// </summary>
/// <param name="dr"></param>
public void ModifyFile1(DataTable dr)
{
_txtdal.ModifyFile(dr);
}
}
}