嗨,我对c#非常陌生,所以道歉。
我正在尝试创建一个文本文件来保存客户的详细信息。但我想用姓氏命名文本文件。我是myfile.txt。
我确定我很接近,但是在将surname.text更改为变量然后将其设置为我创建的新文件的名称时遗漏了一些内容。
我在问题区域附近放了2 **。
private void button1_Click(object sender, EventArgs e)
{
try
{
if ((tb_firstname.Text == "") || (tb_surname.Text == "") || (tb_postcode.Text == ""))
{
MessageBox.Show("Missing values from textboxes!");
}
else if (
****string myfile.txt = (tb_surname.Text);
File.Exists("myfile.txt"));****
{
if (MessageBox.Show("Warning: file already exists. " +
"Contents will be replaced - " +
"do you want to continue?", "File Demo",
MessageBoxButtons.YesNo, MessageBoxIcon.Question,
MessageBoxDefaultButton.Button1,
MessageBoxOptions.DefaultDesktopOnly) ==
DialogResult.Yes)
{
//write lines of text to file
StreamWriter outputStream = File.CreateText(myfile.txt);
outputStream.WriteLine(tb_firstname.Text);
outputStream.WriteLine(tb_surname.Text);
outputStream.WriteLine(tb_surname.Text);
outputStream.Close();
MessageBox.Show("Text written to file successfully!");
this.Close();
}
else
{
MessageBox.Show("Action cancelled existing file contents not replaced!");
this.Close();
}
}
else
{
//write lines of text to file
StreamWriter outputStream = File.CreateText("myFile.txt");
outputStream.WriteLine(tb_firstname.Text);
outputStream.WriteLine(tb_surname.Text);
outputStream.WriteLine(tb_postcode.Text);
outputStream.Close();
MessageBox.Show("Text written to file successfully!");
this.Close();
}
}
catch (Exception problem)
{
MessageBox.Show("Program has caused an error - " + problem.ToString());
}
}
任何帮助都会很棒!
答案 0 :(得分:2)
我相信您正在尝试将姓氏保存为文件名的一部分。您可以使用以下代码生成文件名并检查它是否存在:
首先生成文件名:
string fileName = string.Format("{0}File.txt", tb_surname.Text);
然后使用变量检查它:
File.Exists(fileName);
答案 1 :(得分:2)
您每次都在创建一个名为myfile.txt
的文件
StreamWriter outputStream = File.CreateText("myFile.txt");
这是你正在使用的字符串文字。
你有这条线:
string myfile.txt = (tb_surname.Text)
将文本框的内容读入名为myfile.txt
的变量中。然后,您需要在文件创建代码中使用 :
StreamWriter outputStream = File.CreateText(myFile.txt);
请注意,没有引号。
如果文件已存在,则会覆盖该文件 - 如果要追加,则需要使用以下方法:
StreamWriter outputStream = File.AppendText(myFile.txt);