前台界面如图:
思路:将用户名和密码保存在客户端的c盘的新建文10000件夹下,存储格式为每一行:“用户名+分隔符+密码”
public class rempass //定义类
{
public string username;
public string wordpass;
public static string split = "(123*%$$#&^(*&^*^^&%)";//随便写一串比较乱的分隔符
public rempass()
{
//
//TODO: 在此处添加构造函数逻辑
//
}
public rempass(string username, string wordpass)
{
this.username = username;
this.wordpass = wordpass;
}
public rempass(string id_pass)
{
if (id_pass != "")
{
int L1 = rempass.split.Length;
int L2 = id_pass.IndexOf(split);
username = id_pass.Substring(0, L2);
wordpass = id_pass.Substring(L1 + L2);
}
}
public void set(string id_pass)//将每行字符串传给rempass并分割赋值
{
int L1 = rempass.split.Length;
int L2 = id_pass.IndexOf(split);
username = id_pass.Substring(0, L2);
wordpass = id_pass.Substring(L1 + L2);
}
public void setusername(string id)
{
username = id;
}
public void setuserpass(string pass)
{
wordpass = pass;
}
public string getusername()
{
return username;
}
public string getwordpass()
{
return wordpass;
}
}
public static string path = @"c:\新建文10000件夹"; //后台操作代码
public static int getnum()//获得行数
{
int num = 0;
if (!Directory.Exists(path))
{
return 0;
}
using (System.IO.StreamReader sr = new StreamReader(path + "\\TestTxt.txt"))
{
while (sr.ReadLine() != null)
{
num++;
}
sr.Close();
}
return num;
}
public int clanum=getnum();
public rempass[] remuser = new rempass[getnum()];
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
if (clanum > 0)
{
ini_user();
if (remuser.Length > 0)
{
txtName.Text = remuser[0].getusername();
txtPassword.Attributes.Add("value", remuser[0].getwordpass());
}
}
}
}
public void ini_user()
{
using (StreamReader sr = new StreamReader("c:\\新建文10000件夹\\TestTxt.txt"))
{
string line;
int i = 0;
while ((line = sr.ReadLine()) != null)
{
remuser[i] = new rempass(line);
i++;
}
sr.Close();
}
}
private void ExistsFile()
{
string content="";
if (!Directory.Exists(path))
{
Directory.CreateDirectory(path);
}
else
{
content= readall(txtName.Text.Trim());
}
if (!File.Exists(path))
{
FileStream fs = new FileStream(path+"\\TestTxt.txt", FileMode.Create, FileAccess.Write);
StreamWriter sr = new StreamWriter(fs);
sr.WriteLine(this.txtName.Text.Trim() + rempass.split + this.txtPassword.Text + "\r\n" + content);//开始写入值
sr.Close();
fs.Close();
}
}
protected void Button1_Click1(object sender, EventArgs e)
{
ExistsFile();
}
protected void txtName_TextChanged(object sender, EventArgs e)
{
txtPassword.Attributes.Add("value", "");
if (clanum > 0)
{
ini_user();
finduser(txtName.Text.Trim());
}
}
public void finduser(string str)
{
int sa = remuser.Length;
for (int i = 0; i < remuser.Length; i++)
{
if (remuser[i].getusername() == str)
{
txtName.Text = remuser[i].getusername();
txtPassword.Attributes.Add("value", remuser[i].getwordpass());
Label1.Text = remuser[i].getwordpass();
}
}
}
public string readall(string userid)
{
string line;
string content = "";
using (StreamReader sr = new StreamReader("c:\\新建文10000件夹\\TestTxt.txt"))
{
while ((line = sr.ReadLine()) != null)
{
if (line.IndexOf(userid) == -1)
{
content += line + "\r\n";
}
}
sr.Close();
}
return content;
}