写入空文件时避免异常

Avoid exception when writing to null file

我正在做一些 WPF 练习,我可以成功地编写一个包含内容的文件。

SaveFileDialog sfd = new SaveFileDialog();
sfd.Filter = "Text file (*.txt)|*.txt";
sfd.ShowDialog();
using (StreamWriter sw = File.CreateText(sfd.FileName))
{
  sw.Write(container.Text);
  sw.Close();
}
MessageBox.Show("File " + sfd.FileName + " created at " + DateTime.Now.ToString());
container.ResetText();

那个using (StreamWriter)正在上升异常。

如果我尝试保存文件,但是在通知文件名之前关闭 window,事情就会变糟。

我怎样才能避免这种情况?我尝试检查文件是否为空(在 using 语句的上方和内部,但它仍然关闭。

您需要检查 ShowDialog 的结果:

SaveFileDialog sfd = new SaveFileDialog();
sfd.Filter = "Text file (*.txt)|*.txt";
if (sfd.ShowDialog() == DialogResult.OK)
{
    File.WriteAllText(sfd.FileName, container.Text);
    MessageBox.Show("File " + sfd.FileName + " created at " + DateTime.Now.ToString());
    container.ResetText();
}