黑馬程序員—IO(File類和Directory類_OpenFileDialog_SaveFileDialog_FolderBrowserDialog)

---------------------- Windows Phone 7手機開發.Net培訓、期待與您交流! ----------------------

File類
 
Exists 文件是否存在
Copy 複製文件
File.Copy(string sourceFileName,string destFileName);//不允許覆蓋
File.Copy(string sourceFileName,string destFileName,bool overwrite);//overwrite爲true,可以覆蓋目標文件

代碼:
            string desPath=@"D:\";
            if(File.Exists(desPath))
            {
                //目標文件已存在
                if(MessageBox.Show("目標文件已存在,是否覆蓋?","詢問",MessageBoxButtons.YesNo,MessageBoxIcon.Question) == DialogResult.Yes)
                {
                    File.Copy( "sourceFileName", desPath,true);
                    MessageBox.Show("文件已被覆蓋!");
                }
               
            }
            else
            {
                //目標文件不存在
                File.Copy( "sourceFileName", desPath,true);
                MessageBox.Show("文件複製成功!");
            }

 

OpenFileDialog/SaveFileDialog類 (打開對話框 / 保存對話框)


ShowDialog() 顯示對話框
FileName     選擇的文件路徑
返回值爲DialogResult類型,如果爲OK,則用戶點擊的爲打開,否則爲取消

代碼:

            OpenFileDialog openDialog = new OpenFileDialog();
            SaveFileDialog saveDialog = new SaveFileDialog();
            openDialog.InitialDirectory = "c:\\";                        //默認打開路徑
            openDialog.Filter = "可執行程序|*.exe|Excel文件|*.xls|所有文件|*.*";                  //過濾器
            openDialog.Multiselect = true;                             //允許選擇多個文件
            openDialog.ShowReadOnly = true;                    //打開對話框上面顯示"以只讀方式打開"選項
            openDialog.ShowHelp = true;                            //對話框上顯示help按鈕
            if (openDialog.ShowDialog() == DialogResult.OK)
            {
                //點擊的打開,不是取消
                if (saveDialog.ShowDialog() == DialogResult.OK)     //說明點擊的是保存按鈕
                {
                    File.Copy(openDialog.FileName, saveDialog.FileName, true);
                }
            }

FolderBrowserDialog類 (文件夾對話框)

代碼:

 string sDir,dDir;
 FolderBrowserDialog sourceFolder = new FolderBrowserDialog();
 sourceFolder.Description = "請選擇要複製的文件夾";      //對話框的描述信息
 if(sourceFolder.ShowDialog() == DialogResult.OK)       //點確定
 {
       sDir = sourceFolder.SelectedPath;      //得到選擇的文件夾路徑
       sourceFolder.Description = "請選擇要複製到的文件夾";
       if(sourceFolder.ShowDialog() == DialogResult.OK)
       {
             dDir = sourceFolder.SelectedPath;     //複製到的文件夾路徑
             //要得到源文件夾中的所有文件
             string[] files = Directory.GetFiles(sDir);    //得到是所有文件路徑
             foreach (string filepath in files)
             {
                      string dFileName = filepath.Substring(filepath.LastIndexOf('\\') + 1);    //從路徑中截取字符串得到文件名
                      File.Copy(filepath, dDir+"\\"+dFileName,true);       
            }
     }
 }

 

總結:都是相同套路:

1.new             //創建對象

2.ShowDialog()    //對話框的顯示

   ShowDialog()==DialogResult.OK    //點擊對話框裏面的確定或保存按鈕

3. a. FileName       //選擇的文件路徑

    b. SelectedPath    //得到選擇的文件夾路徑


 

---------------------- Windows Phone 7手機開發.Net培訓、期待與您交流! ----------------------
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章