[200分]征求磁盘之间文件快速复制方法或思路(C# WinForm)

lsd123 2009-07-17 09:57:26
[200分]征求磁盘之间文件快速复制方法或思路(C# WinForm)

条件:本机磁盘里文件复制到U盘上

我现在程序里用File.Copy复制文件,感觉很慢,比Windows文件复制慢很多,130Mb要5分钟,

而网上的FastCopy那个软件,复制800Mb的文件只要40几秒,比Windows文件复制快很多.

我在CodeProject上也没搜到类似的文章(可能是英文不好的原因),
所以请各位说说文件快速复制方法或思路,FastCopy那个软件是如何做到如此快的速度的?

如果要试试FastCopy软件,下面有的下:
http://download.csdn.net/source/160071
资源分: 0

分不够再加
...全文
650 39 打赏 收藏 转发到动态 举报
写回复
用AI写文章
39 条回复
切换为时间正序
请发表友善的回复…
发表回复
lsd123 2009-07-25
  • 打赏
  • 举报
回复
最后一顶
lsd123 2009-07-21
  • 打赏
  • 举报
回复
lsd123 2009-07-20
  • 打赏
  • 举报
回复
[Quote=引用 32 楼 wuyq11 的回复:]
通过API函数FindFirstFile,FindNextFile和FindClose遍历文件
参考
[/Quote]
谢谢,我看下,
lsd123 2009-07-20
  • 打赏
  • 举报
回复
http://dev.tot.name/csharp/html/20090315/20090315025821.htm

http://www.cnblogs.com/hesicong/archive/2007/08/18/860763.html

http://www.cnblogs.com/Rex/archive/2007/07/27/832953.html
benzite 2009-07-20
  • 打赏
  • 举报
回复
学习!
lsd123 2009-07-20
  • 打赏
  • 举报
回复
FASTCOPY的工作原理是依靠占用一定的内存(默认32mb)作为缓存以保证稳定的传输速度来加速的.对硬盘的消耗和普通使用是一样的.只是如果机器的内存偏小,被占用做缓存后机器执行其他任务的速度变慢.

另外,如果你是用它传输电脑与移动硬盘之间的文件时,你速度会跟USB接口相关起来,一般的非USB2.0接口,速度达不到高速,只能一兆左右的传输速度!


要加快文件拷贝速度,
不外乎
[1] 大容量内存做缓冲
[2] 多线程IO读写 [windows支持异步读写]
[3] 高效率的目录结构扫描函数,并支持同步

因为最终还是要受系统硬件的局限的,软件能做的只有那么多

http://topic.csdn.net/u/20071011/22/e07bcef3-5a1a-4a11-9c51-98b367b1781b.html
http://baike.baidu.com/view/709864.htm?fr=topic
LQknife 2009-07-19
  • 打赏
  • 举报
回复
我看看源码去 以前写了个边读边写的不过没侧过效率
wuyq11 2009-07-19
  • 打赏
  • 举报
回复
通过API函数FindFirstFile,FindNextFile和FindClose遍历文件
参考
yanlongwuhui 2009-07-19
  • 打赏
  • 举报
回复
关注中
lsd123 2009-07-19
  • 打赏
  • 举报
回复
help
ssjj_ttt_15 2009-07-19
  • 打赏
  • 举报
回复
ding...
librarylibrary 2009-07-18
  • 打赏
  • 举报
回复
飘过
cnzdgs 2009-07-18
  • 打赏
  • 举报
回复
高速复制的关键在于减少磁头的移动次数,就是要连续从源文件中读出尽可能多的数据、再连续写到目标文件。

我用的硬盘是两年前买的,Seagate ATA300 160G,单硬盘上复制每分钟将近2GB,双硬盘翻倍。
NealXX 2009-07-18
  • 打赏
  • 举报
回复
浑水接分
lsd123 2009-07-18
  • 打赏
  • 举报
回复
[Quote=引用 26 楼 paulin 的回复:]
你的U盘驱动属于第几代啊...
[/Quote]

版本好像是5开头的,我也不知道怎么看,
根据以上的回复,我还是不知道应该怎么入手

paulin 2009-07-18
  • 打赏
  • 举报
回复
你的U盘驱动属于第几代啊...
saisky 2009-07-18
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 wf5360308 的回复:]
没用过,没有发言权。
我在想,他这么超常规的快,是不是有什么弊端呢,譬如伤硬盘等
[/Quote]
恩,我觉得也是
有优必然有弊
yeaicc 2009-07-18
  • 打赏
  • 举报
回复
Update
windinwing 2009-07-18
  • 打赏
  • 举报
回复
中断指令,操作I/O,绕过windows,貌似.net还不支持汇编
sxmonsy 2009-07-18
  • 打赏
  • 举报
回复
友情UP
加载更多回复(19)

110,535

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧