C# 使用SaveFileDialog保存文件

C# 使用SaveFileDialog保存文件,c#,.net,winforms,C#,.net,Winforms,我正在尝试使用SaveFileDialog保存文件,但它们没有出现在我给定的目录中。这是我尝试的: private void按钮1\u单击(对象发送者,事件参数e) { SaveFileDialog saveFileDialog1=新建SaveFileDialog(); saveFileDialog1.InitialDirectory=Application.StartupPath+“\\Scripts\\”; saveFileDialog1.Title=“保存文本文件”; saveFileDi

我正在尝试使用SaveFileDialog保存文件,但它们没有出现在我给定的目录中。
这是我尝试的:

private void按钮1\u单击(对象发送者,事件参数e)
{
SaveFileDialog saveFileDialog1=新建SaveFileDialog();
saveFileDialog1.InitialDirectory=Application.StartupPath+“\\Scripts\\”;
saveFileDialog1.Title=“保存文本文件”;
saveFileDialog1.CheckFileExists=true;
saveFileDialog1.CheckPathExists=true;
saveFileDialog1.DefaultExt=“txt”;
saveFileDialog1.Filter=“文本文件(*.txt)|*.txt |所有文件(*.*)|*.”;
saveFileDialog1.FilterIndex=2;
saveFileDialog1.FileName=textBox1.Text;
saveFileDialog1.RestoreDirectory=true;
执行者执行者=新执行者();
this.Hide();
}
有什么问题吗

SaveFileDialog sfd = new SaveFileDialog()
{
    InitialDirectory = Application.StartupPath + "\\Scripts\\",
    Title = "Save Text Files",
    CheckPathExists = true,
    DefaultExt = "txt",
    Filter = "Text files (*.txt)|*.txt|All files (*.*)|*.*",
    FilterIndex = 1,
    RestoreDirectory = true
};

if (sfd.ShowDialog() == DialogResult.OK)
{
    File.WriteAllText(sfd.FileName, "your data here...");
}
  • 您不需要分配文件名,如果您知道文件名,则不使用savefiledialog,只需直接使用File.WriteAllText方法和文件名
  • 无需检查文件是否存在,因为用户可能必须创建新文件
  • 如果要追加文本,请使用File类的AppendAllText方法

保存部件在哪里?使用File.writealText()或StreamWriter将文本写入文件。使用File.writealText,我将获得System.IO.DirectoryNotFoundException。如果目录存在@abhay,请确保根据文件选择传递saveFileDialog1.FileName或多个文件名。SaveFileDialog的目的是从用户检索路径。这是通过调用
ShowDialog()
实现的。返回“OK”响应后,使用
FileName
属性检索文件名(包括路径)。@Abhay我只有一个文件要保存