07.使用FileStream类来实现对大文件的复制

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

上一篇:Conscription poj3723(最大生成树)


下一篇:[LeetCode]题解(python):017-Letter Combinations of a Phone Number