如何使用 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();//輸出文件
}
}
如對本文有疑問,請提交到交流論壇,廣大熱心網友會為你解答??! 點擊進入論壇