避免写入空文件时出现异常

本文关键字:异常 文件 | 更新日期: 2023-09-27 18:10:46

我正在做一些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)正在上升的例外。

如果我试图保存一个文件,但是在通知文件名之前关闭窗口,事情就会变得很糟糕。

我怎样才能避免呢?我试着检查文件是否为空(上面和里面的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();
}