我在写个在FTP上下载文件的程序,指定文件名下载没有问题。但现在 有个需求就是 比如把 08/06/2007 这个时间内的文件全部下载下来。这个就不知道怎么写了。可能是FtpClient类中的某个方法。那个朋友指导一下,给出几行相关代码

解决方案 »

  1.   

    这是你下载时返回的数据格式:
    05-10-01  11:28PM   <DIR>    01
    05-10-01  05:30AM   1026     a.txt
    第一个字段就是时间啦,看看是否是你需要的,处理一下应该就可以了
    这是我以前的一段代码,只读取xml文件的
    String[] files = ftpClient.dir(".", true); //列出当前目录下所有文件和目录
    System.out.println("download is  running.........");
    for (int i = 0; i < files.length; i++)
    {
    try
    {
    String[] arr = files[i].split(" ");
    for (int k = 0; k < arr.length; k++)
    {
    if (arr[k].endsWith("xml"))
    {
    count++;
    ftpClient.get(new FileOutputStream(localpath + File.separator + arr[k]), arr[k]);
    ftpClient.delete(arr[k]);//删除服务器上的文件
    } else if (arr[k].equalsIgnoreCase("<DIR>"))//是目录
    {
    continue;
    }
    }
    } catch (Exception e)
    {
    flag = false;
    return flag;
    }
      

  2.   

    我的代码:
    1 这个是 按照文件名取
                TelnetInputStream is = ftpClient.get(filename);
                
                File file_out = new File(localPath + localFileName);
                FileOutputStream os = new FileOutputStream(file_out);
                byte[] bytes = new byte[1024];
                int c;
                while ((c = is.read(bytes)) != -1) {
                    os.write(bytes, 0, c);
                }
    2 这个是把目录都打印出来TelnetInputStream is=ftpClient.list();
           int c;
           while ((c=is.read())!=-1) {
    System.out.print((char) c);}结果显示如下:
    ===========@@@@ login FTP succeed @@@@===========
    total 2144
    -rw-------   1 eprbatch eprbtgrp       3793 Aug 26 2005  .bash_history
    -rw-------   1 eprbatch eprbtgrp        144 Nov 10 2004  .netrc
    -rwxr-x---   1 eprbatch eprbtgrp        441 Mar  9 2006  .profile
    -rw-------   1 eprbatch eprbtgrp       6496 Aug  3 10:34 .sh_history
    -rw-------   1 eprbatch eprbtgrp      14248 Apr 28 21:20 20070429.cron.txt
    -rw-r-----   1 eprbatch eprbtgrp     190728 Jul 11 2006  PR6082.csv
    -rw-r-----   1 eprbatch eprbtgrp      70835 Jul 11 2006  PR6082.sql
    -rw-r-----   1 eprbatch eprbtgrp      22507 Jul 11 2006  PR6082Backup01.csv
    -rw-r-----   1 eprbatch eprbtgrp      21841 Jul 11 2006  PR6082Backup02.csv
    -rw-r-----   1 eprbatch eprbtgrp      21238 Jul 11 2006  PR6082Backup03.csv
    看看大家有什么好的方法处理一下