namespace _20.使用FileStream类来实现多媒体文件的复制
{
class Program
{
static void Main(string[] args)
{
//需要被复制的文件的路径
string path1 = @"C:\Users\zyj\Desktop\.NET base\0505.Net基础班第十二天\20.使用FileStream类来实现多媒体文件的复制\bin\Debug\筷子兄弟 - 小苹果.mkv";
//将文件复制到哪里去--->目标路径:
string path2 = @"C:\Users\zyj\Desktop\new.mkv";
CopyFile(path1, path2);
Console.WriteLine("复制成功");
Console.ReadKey();
}
private static void CopyFile(string path1, string path2)
{
//1.我们创建一个读取流
using (FileStream fsRead = new FileStream(path1, FileMode.Open, FileAccess.Read))
{
//2.我们创建一个写入流
using (FileStream fsWrite = new FileStream(path2, FileMode.OpenOrCreate, FileAccess.Write))
{
byte[] buffer = new byte[1024 * 1024 * 5]; //每次读取5M的内容
//因为文件可能会比较大,所有我们读取的时候,应该通过循环去读取
while (true)
{
//返回本次读取实际读取到的字节数
int r = fsRead.Read(buffer, 0, buffer.Length);
//如果返回零,也就意味着什么都没有读取到,也就是读取完了,跳出循环
if (r == 0)
{
break;
}
//第一遍读取已经结束=============================
//开始第一遍写操作
fsWrite.Write(buffer, 0, r);
}
}
}
}
}
}