主要用到的方法
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);
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;
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();
}
}
界面
