C# 使用SaveFileDialog作为多个文件的路径说明符
在我的程序中,我目前正在使用C# 使用SaveFileDialog作为多个文件的路径说明符,c#,wpf,savefiledialog,C#,Wpf,Savefiledialog,在我的程序中,我目前正在使用SaveFileDialog将.txt文件输出到用户指定的路径,如下所示: Microsoft.Win32.SaveFileDialog dlg = new Microsoft.Win32.SaveFileDialog(); dlg.FileName = "filename.txt"; Nullable<bool> result = dlg.ShowDialog(); if (result == true) { //Open file, p
SaveFileDialog
将.txt文件输出到用户指定的路径,如下所示:
Microsoft.Win32.SaveFileDialog dlg = new Microsoft.Win32.SaveFileDialog();
dlg.FileName = "filename.txt";
Nullable<bool> result = dlg.ShowDialog();
if (result == true)
{
//Open file, print text, close file
File.WriteAllLines(dlg.FileName, stringArray);
}
如何将多个文件写入由
SaveFileDialog
指定的位置?string directory=Path.GetDirectoryName(dlg.Filename)代码>将为您获取目录名。然后您可以执行Path.Combine(目录,“filename.txt”)代码>或任何您想要写入的文件路径
编辑:使用文件夹浏览器对话框
。然后在向用户显示对话框后,可以执行dlg.SelectedPath
如果我不清楚,我很抱歉,但我不是在写文件路径。路径由用户在SaveFileDialog
中单击的文件夹指定。当他们按“保存”时,我希望我的两个文件都放在那个位置。正确的方法是+1。另外,我建议您在本例中使用@McGarnagle描述的选择文件夹方法,而不是保存对话框(因为您正在保存多个文件)。使用FolderBrowserDialog
。然后在向用户显示对话框后,您可以执行dlg.SelectedPath
。SaveFileDialog不会为您提供一个可以保存多个文件的目录,它会为您提供一个文件的文件路径。这就是为什么如果使用SaveFileDialog保存一个文件,则需要使用Path.GetDirectoryName(dlg.Filename)
获取保存该文件的目录,以便以后可以将更多文件保存到同一目录。但是,更直接的方法是使用FolderBrowserDialog
直接获取目录本身,然后您可以通过将文件名附加到目录名的末尾来编写多个文件。我看不出您在哪里编写第二个文件。将其添加为if块中的最后一行:stringfilename2=Path.Combine(目录,“File2”);writeAllines(fileName2,stringArray2)代码>
//Call functions to create string arrays to write to .txt files
createArrayForFile1();
createArrayForFile2();
Microsoft.Win32.SaveFileDialog dlg = new Microsoft.Win32.SaveFileDialog();
dlg.FileName = "File1";
Nullable<bool> result = dlg.ShowDialog();
if (result == true)
{
//Create, print, and close both files
File.WriteAllLines(dlg.FileName, stringArray1);
directory = Path.GetDirectoryName(dlg.FileName);
Path.Combine(directory, "File2");
}