本文主要分享了實現檔案和檔案夾的複製的範例程式碼,具有一定的參考價值,下面跟著小編一起來看下吧
話不多說,請看代碼:
private void btnSave_Click(object sender, EventArgs e) //檔案複製、儲存方法 { #region 靜態複製檔案(寫死) string desPath = @"c:\1\1.chm"; if (File.Exists(desPath)) { //目標檔案已存在 if (MessageBox.Show(("檔案已存在,是否覆蓋"), "詢問", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) //選擇Yes 確定覆蓋 { //複製檔案 File.Copy(@"c:\ls\w3.chm", desPath, true); MessageBox.Show("覆蓋成功"); } } else //檔案不存在 { //開始複製 File.Copy(@"c:\ls\w3.chm", desPath, true); MessageBox.Show("複製成功"); } //顯示開啟對話方塊,傳回值為dialogResult類型,如果是OK,則使用者點擊的為開啟,否則為取消 openFileDialog1.InitialDirectory=(@"c:\1"); //選擇檔案時的預設位置 //openfilediaglog1.filter中的fileter是過濾器的作用 //showdialog()顯示對話方塊的方法. openFileDialog1.Filter = "可執行程式|*.exe|TXT文本|*.txt|圖片檔案|*.jpg|所有檔案|*.*";//可檔案類型 if (openFileDialog1.ShowDialog() == DialogResult.OK)//點擊了開啟 { if (saveFileDialog1.ShowDialog() == DialogResult.OK) //說明點yes 也就是確認儲存 { File.Copy(openFileDialog1.FileName, saveFileDialog1.FileName, true); MessageBox.Show("儲存完成"); } }#endregion } //File類是對檔案操作的,包括複製、儲存、建立時間、修改時間等等等等。 //Directory功能類似file #region 動態 private void btnCopyContents_Click(object sender, EventArgs e) { string oldDir, newDir; //分別是原檔案夾和目標檔案夾 FolderBrowserDialog sourceFolder = new FolderBrowserDialog();//動態產生了folderbrowserdialog這個控制項 不需要拖控制項 sourceFolder.Description = "請選擇要複製的檔案夾";//顯示了一個簡單說明 if(sourceFolder.ShowDialog()==DialogResult.OK)//點了確定 { oldDir = sourceFolder.SelectedPath; sourceFolder.Description = "請選擇要複製到的檔案夾";//修改了一下sourcefolder的解說文字 便於使用者使用 if (sourceFolder.ShowDialog()== DialogResult.OK) //如果確定 那麼執行下面代碼塊代碼 { newDir = sourceFolder.SelectedPath; //擷取當前要複製的檔案夾中的所有檔案(注意!不包含下級檔案夾及其中的檔案) string[] files = Directory.GetFiles(oldDir);//定義了個字元數組來接收源檔案內需要複製的檔案 foreach (string filepath in files) //也可以用for語句 { //File.Copy(filepath,newDir+"\\"+filepath.Substring(filepath.LastIndexOf("\\")+1),true); //拆分了一下,更為簡潔 string nFileName ; //定義一個string類型,來擷取檔案名稱 nFileName = filepath.Substring(filepath.LastIndexOf("\\") + 1); //擷取要複製的檔案夾裡的檔案名稱 File.Copy(filepath, newDir + "\\" + nFileName, true); //最後得出要複製的檔案夾以及檔案夾裡的檔案名稱並進行複製 } //MessageBox.Show("複製完成"); } //MessageBox.Show(sourceFolder.SelectedPath); } } #endregion