C#文件Copy
文件Copy有以下几种方法:
1.Copy
1 2 3 4 | string sourceFile = @"c:\temp\New Text Document.txt" ; string destinationFile = @"c:\temp\test.txt" ; bool isrewrite= true ; // true=覆盖已存在的同名文件,false则反之 System.IO.File.Copy(sourcePath, targetPath, isrewrite); |
2.CopyTo
1 2 3 4 5 6 7 8 | string sourceFile = @"c:\temp\New Text Document.txt" ; string destinationFile = @"c:\temp\test.txt" ; FileInfo file = new FileInfo(sourceFile); if (file.Exists) { // true is overwrite file.CopyTo(destinationFile, true ); } |
3.使用文件流读写来实现Copy
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | #region 拷贝操作 private void button3_Click( object sender, EventArgs e) { OpenFileDialog ofd = new OpenFileDialog(); DialogResult res = ofd.ShowDialog(); if (res == DialogResult.OK) { if (! string .IsNullOrEmpty(ofd.FileName)) { //1.创建读入文件流对象 FileStream streamRead = new FileStream(ofd.FileName, FileMode.Open); //2.创建1个字节数组,用于接收文件流对象读操作文件值 byte [] data = new byte [1024 * 1024]; //1M int length = 0; SaveFileDialog sfd = new SaveFileDialog(); DialogResult sres = sfd.ShowDialog(); if (sres == DialogResult.OK) { if (! string .IsNullOrEmpty(ofd.FileName)) { FileStream streamWrite = new FileStream(sfd.FileName, FileMode.Create); do { //3.文件流读方法的参数1.data-文件流读出数据要存的地方,2. 0--从什么位置读,3. data.Length--1次读多少字节数据 //3.1 Read方法的返回值是一个int类型的,代表他真实读取 字节数据的长度, length = streamRead.Read(data, 0, data.Length); //大文件读入时候,我们定义字节长度的可能会有限,如果文件超大,要接收文件流对象的Read()方法,会返回读入的实际长度 //加密 和解密 for ( int i = 0; i < length; i++) { data[i] = ( byte )(255 - data[i]); } streamWrite.Write(data, 0, length); } while (length == data.Length); //如果实际写入长度等于我们设定的长度,有两种情况1.文件正好是我们设定的长度2.文件超大只上传了截取的一部分 } } } } } #endregion |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律