代码:
/**************************
*
* 使用文件流,大文件的读写
*
*
* ****************************/
using System;
using System.Collections.Generic;
using System.IO;
using System.Text;
namespace 文件流技术
{
class Demo2
{
//原始路径
private string _StrSourcePath = @"F:\MyFiles\doubleCube(unity5.4双色球模拟).rar";
//目标路径
private string _StrAimPath = @"E:\TeacherLiuSutdy\Hight Level Teach\abc.rar"; //拷贝后的文件名字
//计数
private int intCircleNum = 0;
/// <summary>
/// 实现大文件的拷贝
/// </summary>
public void Test1()
{
if (File.Exists(_StrSourcePath))
{
//读取文件流
using (FileStream fsRead=new FileStream(_StrSourcePath,FileMode.Open))
{
//写文件流
using (FileStream fsWrite=new FileStream(_StrAimPath,FileMode.OpenOrCreate))
{
byte[] byArrayRead = new byte[1024*1024];//1M空间
while (true)
{
//计数
Console.WriteLine(""+(++intCircleNum)); //可提示拷贝的百分比
//读取
int readCount = fsRead.Read(byArrayRead,0,byArrayRead.Length);
//写入
fsWrite.Write(byArrayRead,0,readCount);
//判断是否为最后一次读取
if (readCount<byArrayRead.Length)
{
break;//最后一次读取,退出循环
}
}
}
}
}
else
{
Console.WriteLine("源路径或目标路径不存在");
}
}
static void Main(string[] args)
{
Demo2 obj = new Demo2();
obj.Test1();
Console.ReadKey();
}
}
}