試圖創建一個簡單的插件,只需連接到一個FTP站點,查找最新的文件,然後下載它。但是,它沒有得到最新的文件。從ftp獲取最新文件
我使用的是org.apache.commons.net.ftp.ftpclient。
這裏是我的代碼
public static void main(String[] args)
{
FTPClient client = new FTPClient();
try
{
client.connect(host);
client.login(user, pwd);
FTPFile[] files = client.listFiles();
FTPFile lastFile = lastFileModified(files);
System.out.println(lastFile.getName());
client.disconnect();
}
catch(SocketException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
catch(IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static FTPFile lastFileModified(FTPFile[] files) {
Date lastMod = files[0].getTimestamp().getTime();
FTPFile choice = null;
for (FTPFile file : files) {
if (file.getTimestamp().getTime().after(lastMod)) {
choice = file;
lastMod = file.getTimestamp().getTime();
}
}
return choice;
}
它獲取文件的列表,然後返回一個文件,它只是不是最新的文件。是否有任何其他方式來比較文件修改日期使用FTPClient或任何人都可以指向我的方向,我做錯了什麼。謝謝。
是getTImestamp(報告正確的價值觀爲所有的文件嗎? – 2010-09-29 20:09:15
yes ............. – Ryan 2010-09-29 23:56:36