02-大文件Copy(FileStream文件流类)
2015-01-29 14:05
295 查看
static void Main(string[] args) { string source = @"e:\1.exe";//要移动文件的路径 大文件 string target = @"f:\1.exe";//将文件移动到的目标路径 CopyFile(source, target); Console.ReadKey(); } private static void CopyFile(string source, string target) { //1.创建一个读取文件的流 using (FileStream fsRead = new FileStream(source, FileMode.Open)) { //2.创建一个写入文件的流 using (FileStream fsWrite = new FileStream(target, FileMode.Create)) { //3.创建一个读取文件、写入文件的缓冲区 byte[] buffer = new byte[1024 * 1024 * 10];//缓冲区大小为10M long fsLen = fsRead.Length;//获取源文件的总字节数 while (true)//4.开始读取、写入文件 { //返回值r表示本次实际读取到的字节数 fsRead.Position属性表示当前流的位置 int r = fsRead.Read(buffer, 0, buffer.Length); #region 文件加密操作 255-189 字节就会变,加入到的文件字节就变了 //for (int i = 0; i < buffer.Length; i++) //{ // buffer[i] = (byte)(Byte.MaxValue - buffer[i]); //} #endregion if (r <= 0)//表示读取到了文件的末尾 { break; } //如果r>0,则表示本次读取到了内容,将读取出来的buffer内容写入到fsWrite文件流中。 else { fsWrite.Write(buffer, 0, r);//注意长度是 r long lenAlready = fsWrite.Length; double proc = (double)lenAlready / fsLen; //double proc = (double)fsWrite.Position / len; Console.WriteLine("拷贝进度:{0}%", proc * 100); } } } }
相关文章推荐
- [datatables -- 学习02]: datatables 导出 CSV和excel 文件,甚至copy内容
- C#中下载Excel文件(其实就是将Excel文件从一个路径Copy到另一个路径)
- 怎样压缩不以文件为基础的数据(copy 来的)
- VBA 范例教程(02):跨应用程序的操作(多文件统计)
- Linux文件查找命令find,xargs详述02
- 文件copy程序(linux)
- 进度条JProgressBar结合线程实现copy文件进度实例
- 采用scp命令在Linux系统之间copy文件
- 将IE缓存中的文件copy到其它目录下
- 采用scp命令在Linux系统之间copy文件
- [原创]从web站点copy文件
- ADO.NET 2.0 - 读者询问能否使用 SqlBulkCopy 对象来大量复制文字文件
- 使用 SqlBulkCopy 大量复制文字文件之 C# 程序代码
- TIPS:禁止向U盘写入文件 从U盘COPY 删除
- ADO.NET 2.0 - 读者询问能否使用 SqlBulkCopy 对象来大量复制文字文件
- 用COPY命令加密文本文件小技巧
- copy某目錄下的所有的目錄和文件到目的目錄(目錄數據備份)
- 读取文件图标及目录Copy[2006-10-16]
- copy 将一个或多个文件从一个位置复制到其他位置
- java关于(io&nio) 的 文件copy例子