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();//获取当前已写入的文本行数 }
/// /// 添加 /// /// /// 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 } }