天天看點

C#程式設計-124:複制多媒體檔案

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
namespace MoveFileTest
{
    class Program
    {
        static void Main(string[] args)
        {
            //思路:先将要複制的多媒體檔案讀取出來,然後在寫入到指定位置
            string source = @"C:\Users\pengshiyu\Desktop\source\微信圖檔_20170709221953.jpg";
            string target = @"C:\Users\pengshiyu\Desktop\source\微信圖檔.jpg";
            CopyFile(source,target);
            Console.WriteLine("多媒體檔案複制成功");
            Console.ReadKey();
        }
        public static void CopyFile(string source, string target)
        { 
        //1、建立一個負責讀取的流
            using (FileStream fsRead = new FileStream(source, FileMode.Open, FileAccess.Read))
            { 
             
            //2、建立一個寫入流
                using (FileStream fsWrite = new FileStream(target, FileMode.OpenOrCreate, FileAccess.Write))
                { 
                //3、多媒體檔案較大,循環讀取
                    byte[] buffer = new byte[1024 * 1024 * 5];//5M
                    while (true)
                    { 
                    //傳回本次讀取實際讀取到的位元組數
                        int r = fsRead.Read(buffer, 0, buffer.Length);
                        //如果傳回0,什麼也沒讀取到
                        if (r == 0) break;
                        fsWrite.Write(buffer,0,r);//最後一次讀取,可能不是5M
                         
                    }
 
                }
            }
             
            }
    }
}