Cố gắng tạo một plugin đơn giản chỉ cần kết nối với một trang web ftp, tra cứu tệp mới nhất và sau đó tải tệp xuống. Tuy nhiên, nó không nhận được tập tin mới nhất.tải tệp mới nhất từ ftp
Tôi đang sử dụng org.apache.commons.net.ftp.ftpclient cho mọi thứ.
Đây là mã của tôi
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;
}
Nó nhận được danh sách các tập tin, và sau đó trở về một tập tin, nó chỉ không phải là tập tin mới nhất. Có cách nào khác để so sánh ngày sửa đổi tập tin bằng cách sử dụng FTPClient hoặc bất cứ ai có thể chỉ cho tôi một hướng về những gì tôi đang làm sai. Cảm ơn.
Là getTImestamp() báo cáo giá trị chính xác cho tất cả các tệp? –
có ............. – Ryan