gpt4 book ai didi

java - 如何使用JAVA中的ftp客户端获取ftp服务器中最新的12个文件

转载 作者:行者123 更新时间:2023-11-30 08:07:36 27 4
gpt4 key购买 nike

我想使用 FTP 客户端读取 FTP 服务器中的 12 个最新 XML 文件,但我只获取最新的和最后一个。

public static void main(String[] args) throws IOException
{
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;
}
Connection Success
/AGIN/20150616
201506152344.xml
/AGIN/20150616
201506152348.xml
/AGIN/20150616
201506152352.xml
/AGIN/20150616
201506152356.xml
/AGIN/20150616
201506160000.xml
/AGIN/20150616
201506160004.xml
/AGIN/20150616
201506160008.xml
/AGIN/20150616
201506160012.xml
/AGIN/20150616
201506160016.xml
/AGIN/20150616
201506160020.xml
/AGIN/20150616
201506160024.xml
/AGIN/20150616
201506160028.xml
/AGIN/20150616
201506160032.xml
/AGIN/20150616
201506160036.xml
/AGIN/20150616
201506160040.xml
/AGIN/20150616
201506160044.xml
/AGIN/20150616
201506160048.xml
/AGIN/20150616
201506160052.xml
/AGIN/20150616
201506160056.xml
/AGIN/20150616
201506160100.xml
/AGIN/20150616
201506160104.xml
/AGIN/20150616
201506160108.xml
/AGIN/20150616
201506160112.xml
/AGIN/20150616
201506160116.xml
/AGIN/20150616
201506160120.xml
/AGIN/20150616
201506160124.xml
/AGIN/20150616
201506160128.xml
/AGIN/20150616
201506160132.xml
/AGIN/20150616
201506160136.xml
/AGIN/20150616
201506160140.xml
/AGIN/20150616
201506160144.xml
/AGIN/20150616
201506160148.xml
/AGIN/20150616
201506160152.xml
/AGIN/20150616
201506160156.xml
/AGIN/20150616
201506160200.xml
/AGIN/20150616
201506160204.xml
/AGIN/20150616
201506160208.xml
/AGIN/20150616
201506160212.xml
/AGIN/20150616
201506160216.xml
/AGIN/20150616
201506160220.xml
/AGIN/20150616
201506160224.xml
/AGIN/20150616
201506160228.xml
/AGIN/20150616
201506160232.xml
/AGIN/20150616
201506160236.xml
/AGIN/20150616
201506160240.xml
/AGIN/20150616
201506160244.xml
/AGIN/20150616
201506160248.xml
/AGIN/20150616
201506160252.xml
/AGIN/20150616
201506160256.xml
/AGIN/20150616
201506160300.xml
/AGIN/20150616
201506160304.xml
/AGIN/20150616
201506160308.xml
/AGIN/20150616
201506160312.xml
/AGIN/20150616
201506160316.xml
/AGIN/20150616
201506160320.xml
/AGIN/20150616
201506160324.xml
/AGIN/20150616
201506160328.xml
/AGIN/20150616
201506160332.xml
/AGIN/20150616
201506160336.xml
/AGIN/20150616
201506160340.xml
/AGIN/20150616
201506160344.xml
/AGIN/20150616
201506160348.xml
/AGIN/20150616
201506160352.xml
/AGIN/20150616
201506160356.xml
/AGIN/20150616
201506160400.xml
/AGIN/20150616
201506160404.xml
/AGIN/20150616
201506160408.xml
/AGIN/20150616
201506160412.xml
/AGIN/20150616
201506160416.xml
/AGIN/20150616
201506160420.xml
/AGIN/20150616
201506160424.xml
/AGIN/20150616
201506160428.xml
/AGIN/20150616
201506160432.xml
/AGIN/20150616
201506160436.xml
/AGIN/20150616
201506160440.xml
/AGIN/20150616
201506160444.xml
/AGIN/20150616
201506160448.xml
/AGIN/20150616
201506160452.xml
/AGIN/20150616
201506160456.xml
/AGIN/20150616
201506160500.xml
/AGIN/20150616
201506160504.xml
/AGIN/20150616
201506160508.xml
/AGIN/20150616
201506160512.xml
/AGIN/20150616
201506160516.xml
/AGIN/20150616
201506160520.xml
/AGIN/20150616
201506160524.xml
/AGIN/20150616
201506160528.xml
/AGIN/20150616
201506160532.xml
/AGIN/20150616
201506160536.xml
/AGIN/20150616
201506160540.xml
/AGIN/20150616
201506160544.xml
/AGIN/20150616
201506160548.xml
/AGIN/20150616
201506160552.xml
/AGIN/20150616
201506160556.xml
/AGIN/20150616
201506160600.xml
/AGIN/20150616
201506160604.xml
/AGIN/20150616
201506160608.xml
/AGIN/20150616
201506160612.xml
/AGIN/20150616
201506160616.xml
/AGIN/20150616
201506160620.xml
/AGIN/20150616
201506160624.xml
/AGIN/20150616
201506160628.xml
/AGIN/20150616
201506160632.xml
/AGIN/20150616
201506160636.xml
/AGIN/20150616
201506160640.xml
/AGIN/20150616
201506160644.xml
/AGIN/20150616
201506160648.xml
/AGIN/20150616
201506160652.xml
/AGIN/20150616
201506160656.xml
/AGIN/20150616
201506160700.xml
/AGIN/20150616
201506160704.xml
/AGIN/20150616
201506160708.xml
/AGIN/20150616
201506160712.xml
/AGIN/20150616
201506160716.xml
/AGIN/20150616
201506160720.xml
/AGIN/20150616
201506160724.xml
/AGIN/20150616
201506160728.xml
/AGIN/20150616
201506160732.xml
/AGIN/20150616
201506160736.xml
/AGIN/20150616
201506160740.xml
/AGIN/20150616
201506160744.xml
/AGIN/20150616
201506160748.xml
/AGIN/20150616
201506160752.xml
/AGIN/20150616
201506160756.xml
/AGIN/20150616
201506160800.xml
/AGIN/20150616
201506160804.xml
/AGIN/20150616
201506160808.xml
/AGIN/20150616
201506160812.xml
/AGIN/20150616
201506160816.xml
/AGIN/20150616
201506160820.xml
/AGIN/20150616
201506160824.xml
/AGIN/20150616
201506160828.xml
/AGIN/20150616
201506160832.xml
/AGIN/20150616
201506160836.xml
/AGIN/20150616
201506160840.xml
/AGIN/20150616
201506160844.xml
/AGIN/20150616
201506160848.xml
/AGIN/20150616
201506160852.xml
/AGIN/20150616
201506160856.xml
/AGIN/20150616
201506160900.xml
/AGIN/20150616
201506160904.xml
/AGIN/20150616
201506160908.xml
/AGIN/20150616
201506160912.xml
/AGIN/20150616
201506160916.xml
/AGIN/20150616
201506160920.xml
/AGIN/20150616
201506160924.xml
/AGIN/20150616
201506160928.xml
/AGIN/20150616
201506160932.xml
/AGIN/20150616
201506160936.xml
/AGIN/20150616
201506160940.xml
/AGIN/20150616
201506160944.xml
/AGIN/20150616
201506160948.xml
/AGIN/20150616
201506160952.xml
/AGIN/20150616
201506160956.xml
/AGIN/20150616
201506161000.xml
/AGIN/20150616
201506161004.xml
/AGIN/20150616
201506161008.xml
/AGIN/20150616
201506161012.xml
/AGIN/20150616
201506161016.xml
/AGIN/20150616
201506161020.xml
/AGIN/20150616
201506161024.xml
/AGIN/20150616
201506161028.xml
/AGIN/20150616
201506161032.xml
/AGIN/20150616
201506161036.xml
/AGIN/20150616
201506161040.xml
/AGIN/20150616
201506161044.xml
/AGIN/20150616
201506161048.xml
/AGIN/20150616
201506161052.xml
/AGIN/20150616
201506161056.xml
/AGIN/20150616
201506161100.xml
/AGIN/20150616
201506161104.xml
/AGIN/20150616
201506161108.xml
/AGIN/20150616
201506161112.xml
/AGIN/20150616
201506161116.xml
/AGIN/20150616
201506161120.xml
/AGIN/20150616
201506161124.xml
/AGIN/20150616
201506161128.xml
/AGIN/20150616
201506161132.xml
/AGIN/20150616
201506161136.xml
/AGIN/20150616
201506161140.xml
/AGIN/20150616
201506161144.xml
/AGIN/20150616
201506161148.xml
/AGIN/20150616
201506161152.xml
/AGIN/20150616
201506161156.xml
/AGIN/20150616
201506161200.xml
/AGIN/20150616
201506161204.xml
/AGIN/20150616
201506161208.xml
/AGIN/20150616
201506161212.xml
/AGIN/20150616
201506161216.xml
/AGIN/20150616
201506161220.xml
/AGIN/20150616
201506161224.xml
/AGIN/20150616
201506161228.xml
/AGIN/20150616
201506161232.xml
/AGIN/20150616
201506161236.xml
/AGIN/20150616
201506161240.xml
/AGIN/20150616
201506161244.xml
/AGIN/20150616
201506161248.xml
/AGIN/20150616
201506161252.xml
/AGIN/20150616
201506161256.xml
/AGIN/20150616
201506161300.xml
/AGIN/20150616
201506161304.xml
/AGIN/20150616
201506161308.xml
/AGIN/20150616
201506161312.xml
/AGIN/20150616
201506161316.xml
/AGIN/20150616
201506161320.xml
/AGIN/20150616
201506161324.xml
/AGIN/20150616
201506161328.xml
/AGIN/20150616
201506161332.xml
/AGIN/20150616
201506161336.xml
/AGIN/20150616
201506161340.xml
/AGIN/20150616
201506161344.xml
/AGIN/20150616
201506161348.xml
/AGIN/20150616
201506161352.xml
/AGIN/20150616
201506161356.xml
/AGIN/20150616
201506161400.xml
/AGIN/20150616
201506161404.xml
/AGIN/20150616
201506161408.xml
/AGIN/20150616
201506161412.xml
/AGIN/20150616
201506161416.xml
/AGIN/20150616
201506161420.xml
/AGIN/20150616
201506161424.xml
/AGIN/20150616
201506161428.xml
/AGIN/20150616
201506161432.xml
/AGIN/20150616
201506161436.xml
/AGIN/20150616
201506161440.xml
/AGIN/20150616
201506161444.xml
/AGIN/20150616
201506161448.xml
/AGIN/20150616
201506161452.xml
/AGIN/20150616
201506161456.xml
/AGIN/20150616
201506161500.xml
/AGIN/20150616
201506161504.xml
/AGIN/20150616
201506161508.xml
/AGIN/20150616
201506161512.xml
/AGIN/20150616
201506161516.xml
/AGIN/20150616
201506161520.xml
/AGIN/20150616
201506161524.xml
/AGIN/20150616
201506161528.xml
/AGIN/20150616
201506161532.xml
/AGIN/20150616
201506161536.xml
/AGIN/20150616
201506161540.xml
/AGIN/20150616
201506161544.xml
/AGIN/20150616
201506161548.xml
/AGIN/20150616
201506161552.xml
/AGIN/20150616
201506161556.xml
/AGIN/20150616
201506161600.xml
/AGIN/20150616
201506161604.xml
/AGIN/20150616
201506161608.xml
/AGIN/20150616
201506161612.xml
/AGIN/20150616
201506161616.xml
/AGIN/20150616
201506161620.xml
/AGIN/20150616
201506161624.xml
/AGIN/20150616
201506161628.xml
/AGIN/20150616
201506161632.xml
/AGIN/20150616
201506161636.xml
/AGIN/20150616
201506161640.xml
/AGIN/20150616
201506161644.xml
/AGIN/20150616
201506161648.xml
/AGIN/20150616
201506161652.xml
/AGIN/20150616
201506161656.xml
/AGIN/20150616
201506161700.xml
/AGIN/20150616
201506161704.xml
/AGIN/20150616
201506161708.xml
/AGIN/20150616
201506161712.xml
/AGIN/20150616
201506161716.xml
/AGIN/20150616
201506161720.xml
/AGIN/20150616
201506161724.xml
/AGIN/20150616
201506161728.xml
/AGIN/20150616
201506161732.xml
/AGIN/20150616
201506161736.xml
/AGIN/20150616
201506161740.xml
/AGIN/20150616
201506161744.xml
/AGIN/20150616
201506161748.xml
/AGIN/20150616
201506161752.xml
/AGIN/20150616
201506161756.xml
/AGIN/20150616
201506161800.xml
/AGIN/20150616
201506161804.xml
/AGIN/20150616
201506161808.xml
/AGIN/20150616
201506161812.xml
/AGIN/20150616
201506161816.xml
/AGIN/20150616
201506161820.xml
/AGIN/20150616
201506161824.xml
/AGIN/20150616
201506161828.xml
/AGIN/20150616
201506161832.xml
/AGIN/20150616
201506161836.xml
/AGIN/20150616
201506161840.xml
/AGIN/20150616
201506161844.xml
/AGIN/20150616
201506161848.xml
/AGIN/20150616
201506161852.xml
/AGIN/20150616
201506161856.xml
/AGIN/20150616
201506161900.xml
/AGIN/20150616
201506161904.xml
/AGIN/20150616
201506161908.xml
/AGIN/20150616
201506161912.xml
/AGIN/20150616
201506161916.xml
/AGIN/20150616
201506161920.xml
/AGIN/20150616
201506161924.xml
/AGIN/20150616
201506161928.xml
/AGIN/20150616
201506161932.xml
/AGIN/20150616
201506161936.xml
/AGIN/20150616
201506161940.xml
/AGIN/20150616
201506161944.xml
/AGIN/20150616
201506161948.xml
/AGIN/20150616
201506161952.xml
/AGIN/20150616
201506161956.xml
/AGIN/20150616
201506162000.xml
/AGIN/20150616
201506162004.xml
/AGIN/20150616
201506162008.xml
/AGIN/20150616
201506162012.xml
/AGIN/20150616
201506162016.xml
/AGIN/20150616
201506162020.xml
/AGIN/20150616
201506162024.xml
/AGIN/20150616
201506162028.xml
/AGIN/20150616
201506162032.xml
/AGIN/20150616
201506162036.xml
/AGIN/20150616
201506162040.xml
/AGIN/20150616
201506162044.xml
/AGIN/20150616
201506162048.xml
/AGIN/20150616
201506162052.xml
/AGIN/20150616
201506162056.xml
/AGIN/20150616
201506162100.xml
/AGIN/20150616
201506162104.xml
/AGIN/20150616
201506162108.xml
/AGIN/20150616
201506162112.xml
/AGIN/20150616
201506162116.xml
/AGIN/20150616
201506162120.xml
/AGIN/20150616
201506162124.xml
/AGIN/20150616
201506162128.xml
/AGIN/20150616
201506162132.xml
/AGIN/20150616
201506162136.xml
/AGIN/20150616
201506162140.xml
/AGIN/20150616
201506162144.xml
/AGIN/20150616
201506162148.xml
/AGIN/20150616
201506162152.xml
/AGIN/20150616
201506162156.xml
/AGIN/20150616
201506162200.xml
/AGIN/20150616
201506162204.xml
/AGIN/20150616
201506162208.xml
/AGIN/20150616
201506162212.xml
/AGIN/20150616
201506162216.xml
/AGIN/20150616
201506162220.xml
/AGIN/20150616
201506162224.xml
/AGIN/20150616
201506162228.xml
/AGIN/20150616
201506162232.xml
/AGIN/20150616
201506162236.xml
/AGIN/20150616
201506162240.xml
/AGIN/20150616
201506162244.xml
/AGIN/20150616
201506162248.xml
/AGIN/20150616
201506162252.xml
/AGIN/20150616
201506162256.xml
/AGIN/20150616
201506162300.xml
/AGIN/20150616
201506162304.xml
/AGIN/20150616
201506162308.xml
/AGIN/20150616
201506162312.xml
/AGIN/20150616
201506162316.xml
/AGIN/20150616
201506162320.xml
/AGIN/20150616
201506162324.xml
/AGIN/20150616
201506162328.xml
/AGIN/20150616
201506162332.xml
/AGIN/20150616
201506162336.xml
/AGIN/20150616
201506162340.xml
/AGIN/20150616
201506162344.xml
/AGIN/20150616
201506162348.xml
/AGIN/20150616
201506162352.xml
/AGIN/20150616
201506162356.xml
/AGIN/20150616
201506170000.xml
**/AGIN/20150616
201506170004.xml
/AGIN/20150616 LATEST XML FILE
201506170004.xml**
/AGIN/lostAndfound/20150616
201506160536.xml
/AGIN/lostAndfound/20150616
201506160552.xml
/AGIN/lostAndfound/20150616
201506160608.xml
/AGIN/lostAndfound/20150616
201506160624.xml
Connection close

最佳答案

为自己创建一个 Comparator就像

public class ModifiedComparator implements Comparator<FTPFile> {

public int compare(FTPFile leftFile, FTPFile rightFile) {
return leftFile.getTimestamp().compareTo(rightFile.getTimeStamp());
}
}

由此你得到一个有序列表

您可以从列表中获取最后/前十二项。取决于您提供的订单

List<FTPFile> list = Arrays.asList(files);
Collections.sort(list, new ModifiedComparator());

编辑

public class LastModifiedComparator implements Comparator<FTPFile> {

public int compare(FTPFile leftFile, FTPFile rightFile) {
return -leftFile.getTimestamp().compareTo(rightFile.getTimeStamp());
}
}

List<FTPFile> list = Arrays.asList(files);
Collections.sort(list, new LastModifiedComparator());

您可以使用此方法getLastNoOfFiles(list,12),它将返回您想要的文件数量。

private List<FTPFile> getLastNoOfFiles(List<FTPFile> files, int noOfFilesToGet)
{
List<FTPFile> latestFiles = new ArrayList<FTPFile>();

int index = 1;
for (FTPFile file : files)
{
if (noOfFilesToGet < index)
{
break;
}
latestFiles.add(file);
index ++;
}
return latestFiles;
}

关于java - 如何使用JAVA中的ftp客户端获取ftp服务器中最新的12个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30883025/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com