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 //得到选择的文件夹路径