使用FolderBrowserDialog创建(文本)文件

时间:2015-02-23 17:04:03

标签: c# winforms

我创建了一个记事本,但我想使用FolderBrowserDialog保存文件。由于此错误,我无法保存文件:mscorlib.dll中出现未处理的“System.NotSupportedException”类型异常

其他信息:不支持指定的路径。

这是我输入的代码:

private void Create_button_Click(object sender, EventArgs e)
    {
        DialogResult dialogResult = MessageBox.Show("Are you sure to make the file", "Sure?", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
        if (dialogResult == DialogResult.Yes)
        {
            FolderBrowserDialog openfiledalog1 = new FolderBrowserDialog();

            if (openfiledalog1.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {

                string[] files = Directory.GetFiles(openfiledalog1.SelectedPath);

                StreamWriter File = new StreamWriter(files + "." + groupBox3);
                File.Write(textBox4);

            }
        }
        else if (dialogResult == DialogResult.No)
        {

        }
    }

有人能帮助我吗?

1 个答案:

答案 0 :(得分:3)

这里有一些导致问题的事情:

  • string[] files = Directory.GetFiles(openfiledalog1.SelectedPath);

在这里,您可以阅读该目录中的现有文件。我以为你想创建一个文件?在这种情况下,您提供目的地路径,例如

string[] files = Directory.GetFiles(openfiledalog1.SelectedPath);

  • 以下情况尤其不起作用:

var dest=Path.Combine(openfileDialog1.SelectedPath,"myfile.txt");

您在这里传递字符串 array 。您需要传递一个字符串作为参数,而不是数组。往上看。你也尝试将它命名为(哪个?)现有文件+由某个groupBox3确定的扩展名?

  • 编写文件,假设textBox4包含要写入的内容,需要通过.Text属性指定:

var dest=Path.Combine(openfileDialog1.SelectedPath,"myfile.txt");

请具体说明哪个控件或变量包含所需的输出文件名,内容以及groupBox3应提供的内容。

修改

StreamWriter File = new StreamWriter(files + "." + groupBox3);

StreamWriter File = new StreamWriter(files + "." + groupBox3);

File.Write(textBox4.Text);