C#创建、写入、删除Txt文本文件

前两天在做一个WinForm程序的时候,需要一个记住密码的功能,我又不想把这个信息保存到数据库,所以就想着用txt文件保存登录信息的json到硬盘中,然后需要记录和回显的时候就使用这个txt文件里的json来操作。

首先,窗体加载时判断文件是否存在,若不存在则创建,存在则读取信息回显:

        private void Form1_Load(object sender, EventArgs e)
        {
            if (!File.Exists(@"D:\tiuserinfo.txt"))
            {
                StreamWriter sw;
                //不存在就新建一个文本文件,并写入空用户信息
                sw = File.CreateText(@"D:\tiuserinfo.txt");
                sw.Write(JsonConvert.SerializeObject(new UserInfo() { username = "", password = "", ischeck = "0" }));
                sw.Close();
            }
            else
            {
                //创建一个读取器
                StreamReader sr = new StreamReader(@"D:\tiuserinfo.txt");
                //读取当前用户信息
                UserInfo userInfo = JsonConvert.DeserializeObject<UserInfo>(sr.ReadToEnd());
                if (userInfo.ischeck == "1")
                {
                    textBox3.Text = userInfo.username;
                    textBox4.Text = userInfo.password;
                    checkBox1.Checked = true;
                }
                sr.Close();
            }


        }

当用户点击登录的时候,判断是否记住密码,如果记住则把之前的txt文件删掉,再重新创建一个带用户信息的txt文件,如果不记住密码,则删除之前的txt文件,再创建一个空的用户信息txt文件。

                    //记住密码操作
                    if (checkBox1.Checked)
                    {
                        File.Delete(@"D:\tiuserinfo.txt");
                        StreamWriter sw;
                        //不存在就新建一个文本文件,并写入空用户信息
                        sw = File.CreateText(@"D:\tiuserinfo.txt");
                        sw.Write(JsonConvert.SerializeObject(new UserInfo() { username = textBox3.Text, password = textBox4.Text, ischeck = "1" }));
                        sw.Close();
                    }
                    else
                    {
                        File.Delete(@"D:\tiuserinfo.txt");
                        StreamWriter sw;
                        //不存在就新建一个文本文件,并写入空用户信息
                        sw = File.CreateText(@"D:\tiuserinfo.txt");
                        sw.Write(JsonConvert.SerializeObject(new UserInfo() { username = "", password = "", ischeck = "0" }));
                        sw.Close();
                    }

最终实现效果:

THE END