RT,我在写一个cmd程序,自动检测一个FTP服务器上的新增加的文件,然后把新文件下载下来
我的思路是,每一个小时进入这个Ftp然后ls一下,显示出当前目录的所有文件/文件夹,然后跟一个小时之前的比较,把新增加的行下载下来
但是现在问题来了,因为主机端不是我控制的,我也不知道上传文件的人是怎么上传,而文件最大可以达到10G. 所以下载之前,我需要判断这个文件是不是已经上传完成了。
我本来的思路是,用ftp里的Dir命令,可以显示出文件的大小,然后过30秒再dir一下,这样当两个dir.txt文件一样的时候,才说明这个文件已经上传成功,于是我就开始下载
但是。。事实是我自己新建了一个Ftp服务器测试,发现我在上传的时候,这个文件的大小一直是0 (奇怪的是,我自己手动进入那个ftp的文件夹,按一下f5,再看,文件的大小就不是0了,会是当前已经传送了的大小)。。 所以就很奇怪,不能这样做
而且我也没法判断这个文件的大小,因为Dir输出的结果是这样的:
-rw-r--r-- 1 ftp ftp 45056 Jun 10 15:17 123.txt
-rw-r--r-- 1 ftp ftp 0 Jun 10 16:27 AddOn_ModBusTCPIOScanner_4.1.0.1_14.06.06.05.seco
应该没办法判断文件大小是不是0。。
所以我就不知道怎么办了。。
大家有什么办法吗?
我的思路是,每一个小时进入这个Ftp然后ls一下,显示出当前目录的所有文件/文件夹,然后跟一个小时之前的比较,把新增加的行下载下来
但是现在问题来了,因为主机端不是我控制的,我也不知道上传文件的人是怎么上传,而文件最大可以达到10G. 所以下载之前,我需要判断这个文件是不是已经上传完成了。
我本来的思路是,用ftp里的Dir命令,可以显示出文件的大小,然后过30秒再dir一下,这样当两个dir.txt文件一样的时候,才说明这个文件已经上传成功,于是我就开始下载
但是。。事实是我自己新建了一个Ftp服务器测试,发现我在上传的时候,这个文件的大小一直是0 (奇怪的是,我自己手动进入那个ftp的文件夹,按一下f5,再看,文件的大小就不是0了,会是当前已经传送了的大小)。。 所以就很奇怪,不能这样做
而且我也没法判断这个文件的大小,因为Dir输出的结果是这样的:
-rw-r--r-- 1 ftp ftp 45056 Jun 10 15:17 123.txt
-rw-r--r-- 1 ftp ftp 0 Jun 10 16:27 AddOn_ModBusTCPIOScanner_4.1.0.1_14.06.06.05.seco
应该没办法判断文件大小是不是0。。
所以我就不知道怎么办了。。
大家有什么办法吗?