您的位置:首页 > 职场人生

黑马程序员—IO(File类和Directory类_OpenFileDialog_SaveFileDialog_FolderBrowserDialog)

2012-04-25 10:31 483 查看
---------------------- 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培训、期待与您交流! ----------------------
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息