用java在linux上如何判断一个文件是否已经传输完毕?

jirgal 2007-11-01 03:35:28
我的程序在扫描某个目录,一旦有文件传输过来(一般都用ftp),就处理该文件。
目前我的程序在处理图片文件时经常出问题,主要是因为我处理文件时文件还没有传输完毕。
我用File 的canRead canWrite renameTo等判断文件是否可以操作,但是都不行。
我测试过,这些方法在文件传输一开始就返回true,
那么到底有没有一种方法,能够正确地判断文件是否已经传输完毕呢?
谢谢您的关注!
...全文
643 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
d2lorder 2007-11-01
  • 打赏
  • 举报
回复
不是用一个循环反复读固定长度的内容么,如果读不到就返回-1
Kreocn 2007-11-01
  • 打赏
  • 举报
回复
long f1l,f2l;
File f1 = new File("file_Dir");
f1l = f1.length();
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
File f2 = new File("file_Dir");
f2l = f2.length();
if(f1l==f2l) {
System.out.println("已经传输完成");
}
else System.out.println("正在传输");
Lisliefor 2007-11-01
  • 打赏
  • 举报
回复
FTP只是传输协议,你实际的操作可能还是通过流传递文件。
那么判断输入流是否读取完毕,应该是方法的。

62,634

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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