如何判断文件复制何时结束?
如何判断文件复制何时结束 我正在使用 C#
编辑:我们通过网络将文件从一台电脑复制到另一台电脑。 我的任务是监视目录并在文件复制到其中后执行一些操作。
How to determine when file copying is ended
i'm using c#
edit: we copying files through network from one pc to another one.
my task is to watch directory and do some actions after files are copied to it.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
如果您使用
File.Copy()
,则此操作在文件实际复制后完成。If you are using
File.Copy()
then this operation is finished after file is actually copied.尝试查看 FileSystemWatcher 的 Created 事件。
Try looking into FileSystemWatcher's Created event.
定期检查尺寸。
无论如何,我建议您使用具有进度功能的
CopyFileEx
(http://msdn.microsoft.com/en-us/library/aa363852(VS.85).aspx)Periodically check for size.
Anyway, I recommend you to use
CopyFileEx
, that has a progress feature (http://msdn.microsoft.com/en-us/library/aa363852(VS.85).aspx)我最近也遇到过类似的事情。
我将使用文件上的文件的打开写入属性来查看是否可以写入该文件:
例如
FileStream fs = f.OpenWrite();
如果上述语句有效,则文件未在使用中,即已完成复制。
I have came across something similar recently.
I would use File's open write attribute on the file to see if you can write to the file:
e.g.
FileStream fs = f.OpenWrite();
if the above statement works then file is not in use i.e. done copying.