C# 使用FileStream文件流对文件进行读取写入

时间:2022-04-22 21:35:26

主要用到的方法

1.Directory.GetParent(pathName).ToString() + “\” + pathName;//getparent()方法 通过文件名获取绝对路径(不含文件名)

2.FileStream fs = new FileStream(fullPath, FileMode.OpenOrCreate);//实例化一个文件流,指定文件完整路径,设置模式为打开或在不存在时创建

3.StreamReader sr = new StreamReader(fs);//实例化文本读取器 sr.ReadLine()读取每行数据

4.StreamWriter sw = new StreamWriter(fullPath, true);//实例化文本写入器,指定写入的完全路径,确认写入 sw.WriteLine(name);//指定要写入的内容


代码部分

 private void Form1_Load(object sender, EventArgs e)
{
string pathName = "UserInfo.ini";
string fullPath = Directory.GetParent(pathName).ToString() + "\\" + pathName;
int rows = 0;
if (File.Exists(fullPath))
{
foreach (var item in File.ReadLines(fullPath))//读取文件中的数据,返回一个泛型枚举,并将每一行内容存到枚举的每一列
{
lboxView.Items.Add(item);//初始化listbox,显示文件中的每行数据
rows += 1;//对数据行数进行记录
}
}
label1.Text = rows.ToString();//获取当前已写入的文本行数
}
   /// <summary>
/// 添加
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btnAdd_Click(object sender, EventArgs e)
{
//获取输入

if (string.IsNullOrEmpty(tbxAdd.Text))//没有输入
{
return;
}
else
{
string name = tbxAdd.Text;//输入文本
string pathName = "UserInfo.ini";//存储信息文件
string fullPath = Directory.GetParent(pathName).ToString() + "\\" + pathName;//getparent()方法 通过文件名获取绝对路径(不含文件名)

FileStream fs = new FileStream(fullPath, FileMode.OpenOrCreate);//实例化一个文件流,指定文件完整路径,设置模式为打开或在不存在时创建
StreamReader sr = new StreamReader(fs);//实例化文本读取器
for (int i = 0; i < Convert.ToInt32(label1.Text); i++)//根据文件中已有的文本行数进行遍历
{
if (sr.ReadLine().ToLower() == name.ToLower())//读取文件中的每一行数据,判断输入文本与已输入文本是否相同
{
MessageBox.Show("重复");
sr.Close();//关闭读取器
sr.Dispose();//清除读取器
tbxAdd.Text = "";
return;
}
}
sr.Close();
sr.Dispose();
StreamWriter sw = new StreamWriter(fullPath, true);//实例化文本写入器,指定写入的完全路径,确认写入
sw.WriteLine(name);//指定要写入的内容
sw.Close();
sw.Dispose();
fs.Close();//关闭文件流
fs.Dispose();//清除文件流
lboxView.Items.Add(name);
tbxAdd.Text = "";
label1.Text = (Convert.ToInt32(label1.Text) + 1).ToString();//成功插入一条文本后,当前文件中文本行数+1
}
}

界面

C# 使用FileStream文件流对文件进行读取写入

相关文章