您的位置:首页 > 新闻 > 热点要闻 > 北京地区网站制作公司_seo搜索优化公司_百度极速版推广_上海自动seo

北京地区网站制作公司_seo搜索优化公司_百度极速版推广_上海自动seo

2025/2/22 14:57:34 来源:https://blog.csdn.net/qq_35629563/article/details/145710749  浏览:    关键词:北京地区网站制作公司_seo搜索优化公司_百度极速版推广_上海自动seo
北京地区网站制作公司_seo搜索优化公司_百度极速版推广_上海自动seo

当调用 `System.IO.File.Copy` 方法时,第三个参数 `overwrite` 控制着如果目标位置已经存在同名文件的情况下如何处理。

1、当 `overwrite` 设置为 `true`

在这种情况下,即使目标路径下已经有相同名称的文件,该方法也会无条件地覆盖现有的文件。这不会引发异常,并且会直接替换旧文件的内容。

string sourceFile = @"c:\temp\New Text Document.txt";
string destinationFile = @"c:\temp\test.txt";// 将会覆盖 test.txt 文件中的内容
System.IO.File.Copy(sourceFile, destinationFile, true);

2、当 `overwrite` 设置为 `false`

此时,若目标路径中已有同名文件,则会发生异常 (`IOException`),因为不允许覆盖现有文件。此行为有助于防止意外的数据丢失或破坏。

try {string sourceFile = @"c:\temp\New Text Document.txt";string destinationFile = @"c:\temp\test.txt";// 若 test.txt 已经存在,则抛出 IOExceptionSystem.IO.File.Copy(sourceFile, destinationFile, false);
} catch (System.IO.IOException ex) {Console.WriteLine($"无法复制文件: {ex.Message}");
}

3、测试程序

分别测试overwrite不同只与文件是否存在,可以分成四种情况

using System;
using System.IO;
using System.Windows;namespace Test07
{class Program{static void Main(string[] args){FileInfo finfo = new FileInfo("sourceFile.txt");         //实例化FileInfo对象//overwrite:是否存在=1:1=TRUE:Existtry{finfo.CopyTo("destFile_11.txt", overwrite: true);}catch (Exception ex){MessageBox.Show(ex.Message);//简洁版报错MessageBox.Show(ex.ToString());//详细版报错}//overwrite:是否存在=0:1=false:Existtry{finfo.CopyTo("destFile_01.txt", overwrite: false);}catch (Exception ex){MessageBox.Show(ex.Message);MessageBox.Show(ex.ToString());}//overwrite:是否存在=1:0=TRUE:NotExisttry{finfo.CopyTo("destFile_10.txt", overwrite: true);}catch (Exception ex){MessageBox.Show(ex.Message);MessageBox.Show(ex.ToString());}//overwrite:是否存在=0:0=false:NotExisttry{finfo.CopyTo("destFile_00.txt", overwrite: false);}catch (Exception ex){MessageBox.Show(ex.Message);MessageBox.Show(ex.ToString());}Console.ReadLine();}}
}

3.1、程序运行前

..\bin\Debug路径下的文件

①源文件【sourceFile.txt】,其内容为九九乘法表

1*1=1
1*2=2, 2*2=4
1*3=3, 2*3=6, 3*3=9
1*4=4, 2*4=8, 3*4=12, 4*4=16
1*5=5, 2*5=10, 3*5=15, 4*5=20, 5*5=25
1*6=6, 2*6=12, 3*6=18, 4*6=24, 5*6=30, 6*6=36
1*7=7, 2*7=14, 3*7=21, 4*7=28, 5*7=35, 6*7=42, 7*7=49
1*8=8, 2*8=16, 3*8=24, 4*8=32, 5*8=40, 6*8=48, 7*8=56, 8*8=64
1*9=9, 2*9=18, 3*9=27, 4*9=36, 5*9=45, 6*9=54, 7*9=63, 8*9=72, 9*9=81

 ②目标文件【destFile_01.txt】,其内容为文件名

 ②目标文件【destFile_11.txt】,其内容为文件名

3.2、程序运行中

3.3、程序运行后

..\bin\Debug路径下的文件

 参考

清华大学出版社-图书详情-《C#从入门到精通(第6版)》

叩响C#之门 (豆瓣)

C知道-开发者的首选AI搜索引擎

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com