我制作了一个注册系统。但问题是同名文件已被覆盖或重命名。举个例子 如果我的文件名是
Fasih.txt
现在我想要做的另一个用户使用相同名称Fasih然后消息框显示错误并且不覆盖或重命名该文件。
private void btnCreate_Click(object sender, EventArgs e)
{
System.IO.TextWriter tw = new System.IO.StreamWriter(txtUsername.Text + ".txt");
tw.WriteLine(txtPassword.Text);
tw.Close();
tw.Dispose();
this.Close();
if (File.Exists(txtUsername.Text + ".txt"))
{
MessageBox.Show("Already used ", "Use diferent name");
答案 0 :(得分:0)
类似的东西:
private void btnCreate_Click(object sender, EventArgs e) {
String fileName = Path.Combine(txtUsername.Text, ".txt");
if (File.Exists(fileName))
MessageBox.Show("Already used ", "Use diferent name");
else {
// OK
File.WriteAllText(fileName, txtPassword.Text);
Close(); // if you want to close form here
}
}
答案 1 :(得分:-1)
在您的代码示例中,您在检查文件是否存在之前已经写入该文件,因此该文件将始终存在。您需要在之前检查,然后才能写入文件。
类似的东西:
private void btnCreate_Click(object sender, EventArgs e) {
var filename = txtUsername.Text + ".txt";
if (File.Exists(filename))
{
MessageBox.Show("Already used ", "Use different name");
}
else
{
System.IO.TextWriter tw = new System.IO.StreamWriter(filename);
tw.WriteLine(txtPassword.Text);
tw.Close();
tw.Dispose();
this.Close();
}