如何将资源文件(resx)保存到驱动器

How to save resource files(resx) to the drive

我想将文件保存到C盘,用户将select任意位置保存文件。我已经在下面尝试了这段代码,它在粗体行中给我一个错误。你能纠正我错了吗?我还想在保存前检查文件是否存在。我怎样才能做到这一点?

这是验证路径是否正确的错误

      string PathSelection = "";
            if (PathSelection.Length > 0)
            {
                txtInputfile.Text = PathSelection;
            }
            // i tried this
            SaveFileDialog saveFileDialog1 = new SaveFileDialog();
            saveFileDialog1.InitialDirectory = saveFileDialog1.FileName;
            saveFileDialog1.Title = "Save Resource Files";
            saveFileDialog1.CheckFileExists = true;
            saveFileDialog1.CheckPathExists = true;
            saveFileDialog1.DefaultExt = "resx";
            saveFileDialog1.Filter = "Save Resource Files (*.resx)|*.resx";
            saveFileDialog1.FilterIndex = 1;
            saveFileDialog1.RestoreDirectory = true;

            if (saveFileDialog1.ShowDialog() == DialogResult.OK) // error here!
            {
                PathSelection = saveFileDialog1.FileName;
                //string path = saveFileDialog1.FileName;
                oDataSet.WriteXml(PathSelection);
            }

            oDataSet.Tables.Add("Data");

这部分是奇数:

SaveFileDialog saveFileDialog1 = new SaveFileDialog();
saveFileDialog1.InitialDirectory = saveFileDialog1.FileName;

当您尝试设置对话框的初始目录以显示用户尚未选择的文件名时。把这条线去掉试试?

关于检查文件是否存在,您添加的行:

saveFileDialog1.CheckFileExists = true;

这将检查以确保您指定的文件存在,这就是您收到错误的原因。如果删除此行,则可以检查是否覆盖文件或使用以下命令创建新文件:

 if(System.IO.File.Exists(filename))