C#复制大文件代码,普通文件也可使用。
[C#] 纯文本查看 复制代码 static void Main(string[] args)
{
bool b= CopyFile(@"D:\360安全浏览器下载\2.avi", @"D:\360安全浏览器下载\3.avi");
if(b)
{
Console.WriteLine("复制成功");
}
else
{
Console.WriteLine("复制失败");
}
Console.ReadKey();
}
/// <summary>
/// 大文件多次复制文件 true:复制成功 false:复制失败
/// </summary>
/// <param name="soucrePath">原始文件路径</param>
/// <param name="targetPath">复制目标文件路径</param>
/// <returns></returns>
public static bool CopyFile(string soucrePath, string targetPath)
{
try
{
//读取复制文件流
using (FileStream fsRead = new FileStream(soucrePath, FileMode.Open, FileAccess.Read))
{
//写入文件复制流
using (FileStream fsWrite = new FileStream(targetPath, FileMode.OpenOrCreate, FileAccess.Write))
{
byte[] buffer = new byte[1024 * 1024 * 2]; //每次读取2M
//可能文件比较大,要循环读取,每次读取2M
while (true)
{
//每次读取的数据 n:是每次读取到的实际数据大小
int n = fsRead.Read(buffer, 0, buffer.Count());
//如果n=0说明读取的数据为空,已经读取到最后了,跳出循环
if (n == 0)
{
break;
}
//写入每次读取的实际数据大小
fsWrite.Write(buffer, 0, n);
}
}
}
return true;
}
catch (System.Exception ex)
{
return false;
}
}
|