您的位置:程序门 -> java -> j2se / 基础类



java用什么办法判断一个文件传输进程结束


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


java用什么办法判断一个文件传输进程结束[已结贴,结贴人:whatx]
发表于:2007-09-04 16:22:41 楼主
假如程序p1将源文件a在写入文件b,另一个程序p2读文件b,程序p2如何判断文件b已经传输结束?
p1和p2是不同的进程。
我的具体情况时:ftp客户上传文件到一个我的ftp   server上,我用一个java程序扫描ftp上传目录,并对里面的文件进行处理。问题是我的ftp服务器(也是用java写的)在文件开始传输的时候就建了一个文件,所以我不知道这个文件是否传输完了?

发表于:2007-09-04 16:33:161楼 得分:5
开始传输前先发送一个标志位,传输结束改变这个标志位,
发表于:2007-09-04 17:25:472楼 得分:0
比较文件大小
发表于:2007-09-04 17:52:083楼 得分:0
怎么判断文件大小?文件大小和内容好像都是同步的。
发表于:2007-09-04 19:32:034楼 得分:7
楼主,一般这种情况可以采用简单的文件后缀名来区分。如一个目录你想要扫描的是*.one文件。那么正在上传中的文件可以命名为*.one.new,待文件传送完成后,更改该文件名为*.one即可。
发表于:2007-09-04 19:38:315楼 得分:0
同意楼上。
发表于:2007-09-04 21:58:226楼 得分:0
liming1983()正解
发表于:2007-09-04 22:05:567楼 得分:0
frilly(秋◆水)   才是正解啊,liming1983()   说的是一个特例。
发表于:2007-09-04 23:30:358楼 得分:5
楼上所说的情况需要更改ftp协议代码或者对原始文件数据进行加工。这样都会增加代码的复杂度。如果全部是由自己实现的一个单独文件传送程序还好些,倘若直接使用的第三方协议包的话。。。我是怕麻烦拉,呵呵。
发表于:2007-09-05 10:36:199楼 得分:3
不如直接用文件锁(filelock)实现,p1传文件的时候直接取得文件锁,这样p2在访问文件时挂起,直到p1释放文件锁


快速检索

最新资讯
热门点击