C# 将文件写入指定文件夹

C# 将文件写入指定文件夹,c#,streamwriter,visual-studio-express,savefiledialog,C#,Streamwriter,Visual Studio Express,Savefiledialog,这个问题与我的另一个问题相关: 这一次,我有一个程序,它有一个文本文件夹来打开一个文件,然后从该文件中提取数据。然后我可以通过说出保存位置来保存它 private void btnExtract1_Click(object sender, EventArgs e) { btnExtract1.Enabled = false; string path = txtSave1.Text; string file1; using (StreamReader reader

这个问题与我的另一个问题相关:

这一次,我有一个程序,它有一个文本文件夹来打开一个文件,然后从该文件中提取数据。然后我可以通过说出保存位置来保存它

private void btnExtract1_Click(object sender, EventArgs e)
{
    btnExtract1.Enabled = false;
    string path = txtSave1.Text;

    string file1;
    using (StreamReader reader = new StreamReader(File.OpenRead(txtFile1.Text)))
    using (StreamWriter writer = new StreamWriter(path))
    {
        while ((file1 = reader.ReadLine()) != null)
        {
            file1 = file1.Replace("\"", string.Empty);
            file1 = file1.Substring(0, 8);

            line_number1 += 1;

            if (line_number1 >= 1)
            {
                writer.WriteLine(file1);
            }
        }
    }
    btnExtract1.Enabled = true;
}

private void btnSave1_Click(object sender, EventArgs e)
{
    DialogResult result = savefile1.ShowDialog();
    txtSave1.Text = savefile1.FileName;
}
不,它未保存在该文件夹中。事实上,它在以下位置中断:

using (StreamWriter writer = new StreamWriter(path))
出现此错误时:

mscorlib.dll中发生类型为“System.IO.DirectoryNotFoundException”的第一次意外异常


可能有什么问题?

您是否检查了路径的外观?可能您没有正确地转义\或者路径中有一些无效字符。

我犯了一个新手错误,忘了说要保存为哪个文件

using (StreamWriter writer = new StreamWriter(path))

其中path等于用户想要的任何值-在我的例子中,它被设置为C:\temp\。我没有将SaveFileDialog设置为任何默认名称。

在将流写入文件之前应用目录检查。如果该目录不存在,请创建该目录。是否可能尚未设置txtSave1的值?在那里放一个断点,看看path变量的值是多少。@RePierre,它被设置为用户想要的值。i、 e.C:\temp\test.txt。如果我将鼠标悬停在路径上,它会显示:C:\\temp\\test.txt\\@Kevdog777,路径末尾的\\可能是问题的原因。那些是怎么到那里的?@Kevdog777,很高兴我能帮上忙!