如何将文本框的内容保存到文件

时间:2017-02-07 09:08:12

标签: c#

我已经查看了类似问题的几个答案,但不知怎的,这对我不起作用。 我正在尝试将文本框的内容保存到用户提示文件中。

private void btnSave_Click(object sender, EventArgs e)
{
    Stream myStream;
    SaveFileDialog saveFileDialog1 = new SaveFileDialog();

    saveFileDialog1.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*";
    saveFileDialog1.FilterIndex = 2;
    saveFileDialog1.RestoreDirectory = true;

    if (saveFileDialog1.ShowDialog() == DialogResult.OK)
    {
        if ((myStream = saveFileDialog1.OpenFile()) != null)
        {
            File.WriteAllText(saveFileDialog1.FileName, rtbIncoming.Text);
            myStream.Close();
        }
    }
}    

按预期弹出用户提示,生成文件但没有任何内容。

1 个答案:

答案 0 :(得分:2)

您无需自行打开文件流。 File.WriteAllText()为您完成所有这些。所以这应该足够了:

if (saveFileDialog1.ShowDialog() == DialogResult.OK)
    File.WriteAllText(saveFileDialog1.FileName, rtbIncoming.Text);

我猜你的代码会导致一个空文件,因为你打开了一个单独的流,用于在调用{后之后不用来编写和关闭(和刷新) {1}}。