黑马程序员—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培训、期待与您交流! ----------------------
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值