我已经查看了类似问题的几个答案,但不知怎的,这对我不起作用。 我正在尝试将文本框的内容保存到用户提示文件中。
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();
}
}
}
按预期弹出用户提示,生成文件但没有任何内容。
答案 0 :(得分:2)
您无需自行打开文件流。 File.WriteAllText()
为您完成所有这些。所以这应该足够了:
if (saveFileDialog1.ShowDialog() == DialogResult.OK)
File.WriteAllText(saveFileDialog1.FileName, rtbIncoming.Text);
我猜你的代码会导致一个空文件,因为你打开了一个单独的流,用于在调用{后之后不用来编写和关闭(和刷新) {1}}。