如何使用 SaveFileDialog 组件保存文件
SaveFileDialog组件,用户可以浏览文件系统并选择要保存文件。 对话框返回用户在对话框中所选的文件路径和名称。 但是必须编写代码才能真正地将文件写入磁盘。
使用 SaveFileDialog 组件保存文件
显示“保存文件”对话框,并调用来方法保存用户选择的文件。
使用SaveFileDialog组件的OpenFile方法以将保存该文件。 此方法提供Stream可以写入的对象。
下面的示例使用DialogResult属性来获取该文件的名称和OpenFile方法以将保存该文件。 OpenFile方法提供写入到文件流。
在下面的示例中,没有Button控件分配给它的映像。 当你单击按钮,SaveFileDialog与允许的类型.gif、.jpeg 和.bmp 文件的筛选器实例化组件。 如果在“保存文件”对话框中选择了此类型的文件,那么按钮的图像将会保存。
重要
要获取或设置FileName属性,您的程序集需要特权级别授予通过System.Security.Permissions.FileIOPermission类。 如果在部分信任上下文中运行,该进程可能会因特权不足而引发异常。 有关详细信息,请参阅代码访问安全性基础知识。
该示例假定你的窗体具有Button使用来控制其Image属性设置为的类型.gif、.jpeg 或.bmp 文件。
备注
FileDialog类的FilterIndex属性 (它,由于继承,属于SaveFileDialog类) 使用基于 1 的索引。 如果要通过编写代码以特定格式保存数据(例如,以纯文本或二进制格式保存文件),那么这一点很重要。以下示例介绍了该属性。
private void button2_Click(object sender, System.EventArgs e) { // Displays a SaveFileDialog so the user can save the Image // assigned to Button2. SaveFileDialog saveFileDialog1 = new SaveFileDialog(); saveFileDialog1.Filter = "JPeg Image|*.jpg|Bitmap Image|*.bmp|Gif Image|*.gif"; saveFileDialog1.Title = "Save an Image File"; saveFileDialog1.ShowDialog(); // If the file name is not an empty string open it for saving. if(saveFileDialog1.FileName != "") { // Saves the Image via a FileStream created by the OpenFile method. System.IO.FileStream fs = (System.IO.FileStream)saveFileDialog1.OpenFile(); // Saves the Image in the appropriate ImageFormat based upon the // File type selected in the dialog box. // NOTE that the FilterIndex property is one-based. switch(saveFileDialog1.FilterIndex) { case 1 : this.button2.Image.Save(fs, System.Drawing.Imaging.ImageFormat.Jpeg); break; case 2 : this.button2.Image.Save(fs, System.Drawing.Imaging.ImageFormat.Bmp); break; case 3 : this.button2.Image.Save(fs, System.Drawing.Imaging.ImageFormat.Gif); break; } fs.Close(); } }
SaveFileDialog saveFileDialog1 = new SaveFileDialog();
saveFileDialog1.AddExtension = true;
saveFileDialog1.Filter = "ACCESS 2003(*.mdb)|*.mdb|所有文件|*.*"; //文件类型
saveFileDialog1.Title = "数据库另存为";//标题
if (saveFileDialog1.ShowDialog() == DialogResult.OK)
{
string fileName = saveFileDialog1.FileName;
string pathFile = "c://ere.txt"; //指定文件
File.Copy(pathFile, fileName, true); //复制
MessageBox.Show("备份成功!");
}
else
{
MessageBox.Show("操作已取消!");
}
作用是将制定的文件(c://ere.txt)保存备份为其它的名称的文件
saveFileDialog saveFileDialog1=new saveFileDialog();
saveFileDialog1.InitialDirectory = Path.GetDirectoryName(strPartPath);
//设置文件类型
saveFileDialog1.Filter = "Excel 工作簿(*.xlsx)|*.xlsx|Excel 启动宏的工作簿(*.xlsm)|*.xlsm|Excel 97-2003工作簿(*.xls)|*.xls";
//saveFileDialog1.FilterIndex = 1;//设置文件类型显示
saveFileDialog1.FileName = "自己取个";//设置默认文件名
saveFileDialog1.RestoreDirectory = true;//保存对话框是否记忆上次打开的目录
saveFileDialog1.CheckPathExists = true;//检查目录
if (saveFileDialog1.ShowDialog() == DialogResult.OK)
{
string strSaveFileLocation = saveFileDialog1.FileName;//文件路径
}
private void SaveFileDialog() { //string localFilePath, fileNameExt, newFileName, FilePath; SaveFileDialog saveFileDialog1 = new SaveFileDialog();
//设置文件类型
saveFileDialog1.Filter = " txt files(*.txt)|*.txt|All files(*.*)|*.*";
//设置默认文件类型显示顺序
saveFileDialog1.FilterIndex = 2;
//保存对话框是否记忆上次打开的目录
saveFileDialog1.RestoreDirectory = true;
//点了保存按钮进入
if (saveFileDialog1.ShowDialog() == DialogResult.OK)
{
//获得文件路径
//localFilePath = saveFileDialog1.FileName.ToString();
//获取文件名,不带路径
//fileNameExt = localFilePath.Substring(localFilePath.LastIndexOf("\\") + 1);
//获取文件路径,不带文件名
//FilePath = localFilePath.Substring(0, localFilePath.LastIndexOf("\\"));
//给文件名前加上时间
//newFileName = DateTime.Now.ToString("yyyyMMdd") + fileNameExt;
//在文件名里加字符
//saveFileDialog1.FileName.Insert(1,"dameng");
System.IO.FileStream fs = (System.IO.FileStream)saveFileDialog1.OpenFile();//输出文件
}
}
如对本文有疑问,请提交到交流论坛,广大热心网友会为你解答!! 点击进入论坛