文件复制,如何判断已经复制完了?

kinlin 2008-09-18 08:58:44
我想把file1.txt从A文件夹复制到B文件夹中,我如何知道已经复制完了,还请高手赐教。
...全文
1501 28 打赏 收藏 转发到动态 举报
写回复
用AI写文章
28 条回复
切换为时间正序
请发表友善的回复…
发表回复
Mop_ADU 2010-09-14
  • 打赏
  • 举报
回复
支持 ~~
Mop_ADU 2010-09-06
  • 打赏
  • 举报
回复
支持 ~·
紫气东来_999 2008-09-18
  • 打赏
  • 举报
回复
[Quote=引用 20 楼 yanlongwuhui 的回复:]
判断目标路径中是否生成了file1.txt文件,并判断file1.txt是否被占用
[/Quote]

不错
kinlin 2008-09-18
  • 打赏
  • 举报
回复
谢谢各位高手,FileSystemWatcher 好用
qinhl99 2008-09-18
  • 打赏
  • 举报
回复
是啊,方法多了去了
kinlin 2008-09-18
  • 打赏
  • 举报
回复
FileSystemWatcher 谢谢,我试试
yagebu1983 2008-09-18
  • 打赏
  • 举报
回复
使用 FileSystemWatcher监视 B文件夹

在Created事件里处理
JeffChung 2008-09-18
  • 打赏
  • 举报
回复
如果知道源文件的情况的话,就用源文件和复制的文件进行比较,看大小是否一致。

如果连源文件也不知道的话,那就使用 FileSystemWatcher监视B文件夹,在Created事件里处理
yanlongwuhui 2008-09-18
  • 打赏
  • 举报
回复
判断目标路径中是否生成了file1.txt文件,并判断file1.txt是否被占用
ZengHD 2008-09-18
  • 打赏
  • 举报
回复
file1.txt如果不是完成后才产生的,也不能用它做判断
whycom 2008-09-18
  • 打赏
  • 举报
回复
msdn 看
FileSystemWatcher 类
kinlin 2008-09-18
  • 打赏
  • 举报
回复
错了,是只知道B文件夹下会有一个file1.txt文件
kinlin 2008-09-18
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 ZengHD 的回复:]
Copy程序完成后会有什么状态?会关闭吗?如果关闭,那判断文件程序就不判的判断进程里是否有Copy程序
[/Quote]
不行,我的判断文件程序对Copy程序的相关信息一点不知道,只知道A文件夹下会有一个file1.txt文件


ZengHD 2008-09-18
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 kinlin 的回复:]
引用 11 楼 ZengHD 的回复:
Copy文件的程序完成后,SendMessage到判断文件程序

但Copy文件的程序我控制不了
[/Quote]

Copy程序完成后会有什么状态?会关闭吗?如果关闭,那判断文件程序就不判的判断进程里是否有Copy程序
kinlin 2008-09-18
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 accomp 的回复:]
按文件大小判断
大小一样则复制完成。
[/Quote]
是在不同时间点上判断文件大小,看是否一致吗?
kinlin 2008-09-18
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 ZengHD 的回复:]
Copy文件的程序完成后,SendMessage到判断文件程序
[/Quote]
但Copy文件的程序我控制不了
accomp 2008-09-18
  • 打赏
  • 举报
回复
按文件大小判断
大小一样则复制完成。
ZengHD 2008-09-18
  • 打赏
  • 举报
回复
Copy文件的程序完成后,SendMessage到判断文件程序
kinlin 2008-09-18
  • 打赏
  • 举报
回复
不是啊Copy文件和判断文件是否完了是两个程序啊,所以是并行的
LYDF4151 2008-09-18
  • 打赏
  • 举报
回复
使用WebClient.

private WithEvents myclient as new system.net.webclient

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
If My.Computer.Network.IsAvailable = True Then

Dim DownloadAddress As String
DownloadAddress = TextBox2.Text + "\" + System.IO.Path.GetFileName(TextBox1.Text)
MyClient.DownloadFileAsync(New Uri(TextBox1.Text), DownloadAddress)
Else
MsgBox("网络不可用!")

End If
End Sub

Private Sub MyClient_DownloadFileCompleted(ByVal sender As Object, ByVal e As System.ComponentModel.AsyncCompletedEventArgs) Handles MyClient.DownloadFileCompleted
MsgBox("文件下载完成!")
End Sub

Private Sub MyClient_DownloadProgressChanged(ByVal sender As Object, ByVal e As System.Net.DownloadProgressChangedEventArgs) Handles MyClient.DownloadProgressChanged

Static speed As Int64
speed = (e.BytesReceived - speed) / 1024

Label3.Text = speed
Label4.Left = e.ProgressPercentage * (Me.ProgressBar1.Width - Me.Label3.Width) / 100
Label4.Text = e.ProgressPercentage

ProgressBar1.Value = e.ProgressPercentage
speed = e.BytesReceived

End Sub
加载更多回复(8)

16,554

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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