FTP下载文件问题(按文件创建的时间下载) 我在写个在FTP上下载文件的程序,指定文件名下载没有问题。但现在 有个需求就是 比如把 08/06/2007 这个时间内的文件全部下载下来。这个就不知道怎么写了。可能是FtpClient类中的某个方法。那个朋友指导一下,给出几行相关代码 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这是你下载时返回的数据格式:05-10-01 11:28PM <DIR> 0105-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; } 我的代码: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看看大家有什么好的方法处理一下 StreamTokenizer 输入字符串问题 tomcat + jsp 项目,如何设置把url中jsp 字眼隐藏? 关于Jfreechats Demo问题 请教一个简单的算法问题 请教一个日历类中有关Calendar.MINUTE静态常量的问题?? assert问题!! 小妹有个问题,希望高手帮忙!!! 大家谈谈对反射的理解 通常在哪些情况下 需要将 方法 定义为 synchronized? jb5安装问题 初学java,向各位高手请教个问题 在java程序中连接oracle数据库时报错
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;
}
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
看看大家有什么好的方法处理一下