在C#中,在saveFileDialog中保存选定路径中的多个文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在C#中,在saveFileDialog中保存选定路径中的多个文件相关的知识,希望对你有一定的参考价值。

我正在使用C#和silverlight 5.我使用SaveFileDialog来获取用户选择的文件名。现在我需要在不同扩展名的同一位置保存多个文件。我尝试了以下内容

string directory = System.IO.Path.GetDirectoryName(dialog.SafeFileName);
Stream fileStream = dialog.OpenFile();

StreamWriter sw = new StreamWriter(fileStream);
string sequenceFASTAFileNAme = System.IO.Path.GetFileNameWithoutExtension(dialog.SafeFileName) + ".fa";
string path = System.IO.Path.Combine(directory, sequenceFASTAFileNAme);

if (!File.Exists(sequenceFASTAFileNAme))
{
    StreamWriter tw = File.AppendText(System.IO.Path.Combine(directory,sequenceFASTAFileNAme));
    tw.WriteLine("The next line!");
    tw.Flush();
    tw.Close();
}

但我得到了以下错误

不允许文件操作。访问路径'helo.fa'被拒绝。

StreamWriter tw = File.AppendText(System.IO.Path.Combine(directory,sequenceFASTAFileNAme));

我怎样才能获得所选文件的路径。

答案
private void button1_Click_1(object sender, EventArgs e)
{
    string[] FileV = new string[3];
    FileV[0] = "val1";
    FileV[2] = "val2";
    FileV[3] = "val3";
    save(FileV);
}
private void save(string[] FileValue)
{
    System.IO.Stream myStream;
    SaveFileDialog saveFileDialog1 = new SaveFileDialog();

    saveFileDialog1.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*";
    saveFileDialog1.FilterIndex = 2;
    saveFileDialog1.RestoreDirectory = true;

    if (saveFileDialog1.ShowDialog() == DialogResult.OK)
    {
        if ((myStream = saveFileDialog1.OpenFile()) != null)
        {
            System.IO.StreamWriter tw = System.IO.File.AppendText(saveFileDialog1.FileName + ".ex1");
            tw.WriteLine(FileValue[1]);
            tw.Flush();
            tw.Close();
            tw = System.IO.File.AppendText(saveFileDialog1.FileName + ".ex2");
            tw.WriteLine(FileValue[2]);
            tw.Flush();
            tw.Close();
            tw = System.IO.File.AppendText(saveFileDialog1.FileName + ".ex3");
            tw.WriteLine(FileValue[3]);
            tw.Flush();
            tw.Close();
            myStream.Close();
        }
    }
}

以上是关于在C#中,在saveFileDialog中保存选定路径中的多个文件的主要内容,如果未能解决你的问题,请参考以下文章

c# savefiledialog 锁定到特定目录? [复制]

C# OpenFileDialog和SaveFileDialog:打开文件与保存文件

c# savefiledialog 保存特定长度的文本

如何使用 saveFileDialog 在 C# 中保存图像? [复制]

在 Silverlight SaveFileDialog 中打开文件而不是保存文件

不使用 SaveFileDialog 保存文件