如何创建文本文件,并使用文本框或变量命名

时间:2012-11-22 21:23:36

标签: c# file creation

嗨,我对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());
        }
}

任何帮助都会很棒!

2 个答案:

答案 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);