47.C#–使用FileStream文件流来实现多媒体文件的复制

static void Main(string[] args)

{

//使用文件流来实现多媒体文件的复制

//思路:先将要复制的多媒体文件读出来,然后再写入到指定位置

//多媒体音乐源路径

string source = @”C:\Users\Administrator.USER-20180925HC\Desktop\音乐.wav”;

//要复制多媒体音乐目标路径

string target= @”C:\Users\Administrator.USER-20180925HC\Desktop\新建音乐.wav”;

//调用复制的方法,输入参数

copyFile(source, target);

Console.WriteLine(“制成成功”);

Console.ReadKey();

}

//创建一个方法实现多媒体文件的复制,并传入源文件和目标文件路径

public static void copyFile(string source,string target)

{

//1.创建一个负责读取的流,去读取source源文件

using (FileStream fsRead = new FileStream(source, FileMode.OpenOrCreate, FileAccess.Read))

{

//2.创建一个负责写入的流

using(FileStream fsWrite=new FileStream(target, FileMode.OpenOrCreate, FileAccess.Write))

{

//声明一个字节数组,每次读5M

byte[] buffer = new byte[1024
1024 5];

//因为文件比较大,我们通过一个循环去读取

while (true)

{

//返回本次实际读取到的字节数,读取到的数据存入buffer

int r = fsRead.Read(buffer, 0, buffer.Length);

//读取到最后一次,当返回0时,表示全部读取完了,就跳出循环

if (r == 0)

{

break;

}

fsWrite.Write(buffer, 0, r);

}

}

        }
    }