论坛首页 Java企业应用论坛

java如何判断一个文件传输进程是否结束

浏览 12922 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2007-09-04  
假如程序P1将源文件a在写入文件b,另一个程序P2读文件b,程序p2如何判断文件b已经传输结束?
p1p2是不同的进程。

具体情况是:ftp客户上传文件到一个我的ftp server上,我用一个java程序扫描ftp上传目录,并对里面的文件进行处理。问题是我的ftp服务器(也是用java写的)在文件开始传输的时候就建了一个文件,所以我不知道这个文件是否传输完了?
   发表时间:2007-09-04  
我们公司的办法是,改临时文件后缀名称吧,传完了修改文件后缀名称。如果有其他方式,我也想听听
0 请登录后投票
   发表时间:2007-09-04  
通过检测文件大小
0 请登录后投票
   发表时间:2007-09-04  
yerba 写道
我们公司的办法是,改临时文件后缀名称吧,传完了修改文件后缀名称。如果有其他方式,我也想听听


我们也是用这种办法处理.
0 请登录后投票
   发表时间:2007-09-05  
可以考虑用MQ消息通知机制
0 请登录后投票
   发表时间:2007-09-21  
我们用两个目录,一个临时上传目录,一个工作目录 :)
0 请登录后投票
   发表时间:2007-09-27  
<quote>通过检测文件大小</quote>
这个方法行不通,ftp上传字节的大小和文件大小是同步的,也是说文件大小实时地改变,直到上传完毕。

<quote>可以考虑用MQ消息通知机制</quote>
我还是用的改文件名后缀的方法解决了。只是想问一下,什么是MQ?


0 请登录后投票
   发表时间:2007-09-27  
sole 写道

我还是用的改文件名后缀的方法解决了。只是想问一下,什么是MQ?




消息队列,也是ibm的消息队列产品的名字。
0 请登录后投票
   发表时间:2007-09-27  
如果有n个文件,读取线程只读取n-1一个文件就行了。如果只有1个文件,那只能改后缀名来解决
0 请登录后投票
   发表时间:2008-01-10  
pikachu 写道
sole 写道

我还是用的改文件名后缀的方法解决了。只是想问一下,什么是MQ?




消息队列,也是ibm的消息队列产品的名字。


看来你是IBM的铁杆fans了,
MQ怎么能说是IBM消息队列产品的名字呢?
MQ:Message Queue
有很多不同的MQ产品,开源的,不开源的。
像ActiveMQ就是开源的,其他的BEA,JBOSS都有自己的MQ
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics