FileStream实现文件复制。

本文详细介绍了使用C#进行文件复制的方法,通过具体的代码示例展示了如何利用FileStream类的Read和Write方法实现文件的逐字节复制,适用于需要了解文件操作及流处理的开发者。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;

namespace 文件复制
{
    class Program
    {
        static void Main(string[] args)
        {
            string souce = @"H:\Cstudy\data\picture\aaa.jpg";
            string targer = @"H:\Cstudy\data\picture\Copy_aaa.jpg";
            Copyfiles(souce, targer);
        }

        public static void Copyfiles(string sou, string tar)
        { 
        //创建一个文件流来读取文件
            using(FileStream fsread = new FileStream(sou,FileMode.Open,FileAccess.Read))
          {
             //创建一个文件流来写入文件
             using (FileStream fswrite = new FileStream(tar,FileMode.OpenOrCreate,FileAccess.Write))
             {
                 byte[] buff = new byte[1024*1024*3];

                 while (true)
                 {

                     int fscount = fsread.Read(buff, 0, buff.Length);
                     if (fscount == 0)
                     { break; }

                     fswrite.Write(buff, 0, fscount);
                 }

        }
             

        }

           
        
        }
    }
}

之所以能用while循环,是因为FileStream的read和write方法,能够自动接着顺序读取相关的字节。除非是关闭和释放了对象

可以使用C#中的FileStream实现文件复制操作。具体步骤如下: 1. 创建一个源文件FileStream对象,用于读取源文件的内容。 2. 创建一个目标文件FileStream对象,用于将源文件的内容写入目标文件。 3. 通过源文件FileStream对象读取源文件的内容,并通过目标文件FileStream对象将读取到的内容写入目标文件中。 4. 关闭源文件和目标文件FileStream对象。 下面是一个示例代码,演示如何使用FileStream实现文件复制操作: ```csharp using System.IO; class Program { static void Main(string[] args) { // 源文件路径 string sourceFilePath = @"C:\source.txt"; // 目标文件路径 string targetFilePath = @"C:\target.txt"; // 创建源文件FileStream对象 using (FileStream sourceStream = new FileStream(sourceFilePath, FileMode.Open, FileAccess.Read)) { // 创建目标文件FileStream对象 using (FileStream targetStream = new FileStream(targetFilePath, FileMode.Create, FileAccess.Write)) { // 读取源文件的内容,并将内容写入目标文件中 byte[] buffer = new byte[1024]; int bytesRead = 0; while ((bytesRead = sourceStream.Read(buffer, 0, buffer.Length)) > 0) { targetStream.Write(buffer, 0, bytesRead); } } } } } ``` 在上面的代码中,我们首先创建了一个源文件FileStream对象和一个目标文件FileStream对象,然后通过源文件FileStream对象读取源文件的内容,并通过目标文件FileStream对象将读取到的内容写入目标文件中。最后,我们关闭了源文件和目标文件FileStream对象。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值