代码如下
private static int port = 21;
              private static String ftpipaddress = "10.90.0.1";
               private static String username = "abc";
              private static String password = "abc";
               private String filepath = "";
               private static String dir = "up01";
 ftpClient = new FtpClient(ftpipaddress, port);
                   ftpClient.login(username, password);
  ftpClient.cd(dir);
因为每次要取的文件文件名没有固定规律,所以获取文件列表   类似file.list()这样的

解决方案 »

  1.   

    没作过ftp方面的程序呢,有时间要学习下才行呢,楼主,FTP的程序有那些特别之处吗?
    我顶下先!!
      

  2.   

    没什么特别的,要下载的文件名不固定,文件名中表示序列号的那段无规律,我没办法直接用下面这种代码
    file = fileDir.trim() + filename.trim();    URL u = new URL(file
                        );    URLConnection urlconn = u.openConnection();          br_file = new BufferedReader(new InputStreamReader(urlconn.
            getInputStream()));
      

  3.   

    使用org.apache.commons.net. 下类似FtpClient应该有ListFiles的功能。
    sun的ftpClient你仔细查一下相关的文档。
      

  4.   

    目前好象还没有统一的标准来规范list返回的信息。我也正在做FTP客户端呢,使用list也遇到了跟你一样的问题,就先使用nameList()代替的,不过它只能返回文件名,没有其它信息了。等有时间的话,只能再做一个字符过滤器来拆解list返回信息了。不同的FTP服务器软件架设的服务器都有不同的返回信息,我架设用了7,8种软件架设服务器,返回信息基本上都不相同。若要继续探讨,请与我联系 QQ:279406521
      

  5.   

    我这里list返回的那个最小单位是分钟,不够用,而且也不方便拆解,目前用nameList()得到了文件名,不过怎么删除ftp上的文件呢,我还没有发现相关方法
      

  6.   

    呵呵,我还没做这个删除的功能呢,好象没有可以直接用的方法,就连上传文件时,服务器上已有同名文件的问题都没法办!好象不能覆盖掉,也没有方法来删除它。或许其它的ftp客户端类有直接发送ftp命令的方法就好了!
      

  7.   

    这么多人在研究这个FTP啊,正好我也在写这块的程序,个人觉得org.apache.commons.net.ftp.FTP;这个包好用
      

  8.   

    查阅了不少资料,有一篇文章给出了几个FTP类的比较,你搜一下应该能搜到的,资料表明目前服务器不能统一规范,好象没有具体解决办法。不过微软不知道怎么做的,用浏览器就能浏览所有FTP,或者在dos窗口下用ftp 主机名,登录,然后ls 命令能查看所有文件名,dir 能显示所有文件信息,也有delete命令删除文件,建议楼主换用其他可以执行ftp命令的类来做。
      

  9.   

    谢谢大家,找了两个包,比较了一下,用了edtftpj,功能不错