C#中使用FilleStream实现视频文件的复制功能

2022-10-16,,,

实现

新建控制台程序

在main方法中

//复制源路径
string source = @"d:\音乐迷\音乐迷\mv\消愁-毛不易.mp4";
//复制目的路径
string target = @"c:\users\administrator\desktop\霸道的程序猿.mp4";
copyfile(source,target);
console.writeline("复制成功");
console.readkey();

然后实现复制视频文件的方法

public static void copyfile(string source,string target)
    {
      //创建一个负责读取的流
      using (filestream fsread = new filestream(source, filemode.openorcreate, fileaccess.read))

      {
        //创建一个负责写入的流
        using (filestream fdwrite = new filestream(target,filemode.openorcreate,fileaccess.write))
        {
          // 5 兆的字节数组
          byte[] buffer = new byte[1024*1024*5];
          //因为文件可能会比较大,所以我们在读取的时候 应该通过一个循环去读取
          while (true)
          {
            //返回本次读取实际读取到的字节数
            int r = fsread.read(buffer, 0, buffer.length);
            //如果返回一个0 也就意味着什么都没有读取到 即读取完了
            if (r == 0)
            {
              break;
            }
            fdwrite.write(buffer,0,r);
          }

          
        }
      }
    }

运行效果

知识点扩展:c#使用filestream复制多媒体文件,具体代码如下所示:

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 source = @"c:\123\123.avi";
      string target = @"c:\123\456.avi";
      copyfile(source, target);
    }
    public static void copyfile(string source, string target)
    {
      //创建一个读取的流
      using (filestream fsread = new filestream(source, filemode.openorcreate, fileaccess.read))
      {
        //创建一个写入的流
        using (filestream fswrite = new filestream(target, filemode.openorcreate, fileaccess.write))
        {
          //每次读取5m大小
          byte[] buffer = new byte[1024 * 1024 * 5];
          //文件可能比较大,循环去读
          while (true)
          {
            //本次实际读取到的字节数
            int r = fsread.read(buffer, 0, buffer.length);
            //如果读取到的字节数为0,则意味着读完了
            if (r == 0)
            {
              break;
            }
            fswrite.write(buffer, 0, r);
          }
        }
      }
    }
  }
}

总结

以上所述是小编给大家介绍的c#中使用fillestream实现视频文件的复制功能,希望对大家有所帮助

《C#中使用FilleStream实现视频文件的复制功能.doc》

下载本文的Word格式文档,以方便收藏与打印。