用FtpClient 下载时怎么判断该文件不存在?

会游泳的小乌龟 2010-03-12 05:08:05

FtpClient client = new FtpClient();
client.openServer(ftpConfig.get("address"));
client.login(ftpConfig.get("username"), ftpConfig.get("password"));

DataInputStream dis =new DataInputStream(client.list());
int readCount;
String s="";
while((s=dis.readLine())!=null) {
System.out.println("Getting: " + s);
}
这个方法得到的是:
Getting: -rw-r--r-- 1 502 502 543154 Jan 02 2006 21Slave.gif
Getting: -rw-r--r-- 1 502 502 56972 Jan 02 2006 24Slave.jpg
Getting: -rw-r--r-- 1 502 502 83489 Jan 02 2006 25Slave.torrent
Getting: -rw-r--r-- 1 502 502 598182 Jan 02 2006 26Slave.rar
Getting: -rw-r--r-- 1 502 502 543154 Jan 02 2006 27Slave.gif
Getting: -rw-r--r-- 1 502 502 598182 Jan 02 2006 28Slave.rar
Getting: -rw-r--r-- 1 502 502 598182 Jan 02 2006 29Slave.rar
Getting: -rw-r--r-- 1 502 502 308589 Jan 02 2006 30Slave.bmp
Getting: -rw-r--r-- 1 502 502 389043 Dec 31 22:55 31Slave.gif
Getting: -rw-r--r-- 1 502 502 341444 Dec 31 23:26 33Slave.jpg
Getting: -rw-r--r-- 1 502 502 341444 Dec 31 23:29 34Slave.jpg
Getting: -rw-r--r-- 1 502 502 341444 Dec 31 23:30 35Slave.jpg
Getting: -rw-r--r-- 1 502 502 475372 Dec 31 23:30 36Slave.png
Getting: -rw-r--r-- 1 502 502 10860 Dec 31 23:31 37Slave.xlsx
Getting: -rw-r--r-- 1 502 502 233502 Jan 01 2006 41Slave.jpg
Getting: -rw-r--r-- 1 502 502 96312 Jan 01 2006 42Slave.jpg
Getting: -rw-r--r-- 1 502 502 48307 Jan 01 2006 43Slave.jpg
Getting: -rw-r--r-- 1 502 502 48307 Jan 01 2006 44Slave.jpg
Getting: -rw-r--r-- 1 502 502 233502 Jan 01 2006 45Slave.jpg
Getting: -rw-r--r-- 1 502 502 96312 Dec 31 22:45 46Slave.jpg
Getting: -rw-r--r-- 1 502 502 43640 Dec 31 22:55 48Slave.jpg
Getting: -rw-r--r-- 1 502 502 41508 Dec 31 22:55 49Slave.jpg
Getting: -rw-r--r-- 1 502 502 398836 Dec 31 21:18 72_1_e354ee48882e978.gif.gif
Getting: -rw-r--r-- 1 502 502 543154 Dec 31 21:18 72_1_f43f6b4234cfeb3.gif.gif
Getting: lrwxrwxrwx 1 0 0 4 Jun 27 2008 software -> /ftp


谁有更好的方法判断文件在FTP上是否存在?
顺便问一下client.nameList(arg0)怎么用
...全文
1462 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
mrshang888 2011-12-28
  • 打赏
  • 举报
回复
FTPFile[] ftpFiles = ftp.listFiles("a");
System.out.println(ftpFiles.length);
判断返回列表大小,为0就表示没有。
ljgazxx 2010-04-09
  • 打赏
  • 举报
回复
你应该晓得 你要找的文件名的吧?截取出你要找的文件的名字,再比较
如:
while((s=dis.readLine())!=null) {
s=s.substring(s.length()-17,s.length());
String targetFile=dd + ".cdr";
//判断是否有要下载的文件
if(s.equals(targetFile)){
。。。。
}else{

}


方法虽然笨了点,貌似是可以用的。
2Tu 2010-03-12
  • 打赏
  • 举报
回复
不懂。。。。。。。。。。。
bayougeng 2010-03-12
  • 打赏
  • 举报
回复
list方法不能加filter么?
如果不行就用正则表达式过滤吧。
  • 打赏
  • 举报
回复
对啊,就用的sun.net.ftp.FtpClient这个
nickycheng 2010-03-12
  • 打赏
  • 举报
回复
你用的sun.net.ftp.FtpClient??

实际应用中不要使用它,使用第三方的Commons Net是个不错的选择。

http://commons.apache.org/net/

50,504

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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