避免使用Java FTP下载以前下载的文件

避免使用Java FTP下载以前下载的文件,java,ftp,Java,Ftp,我有一个桌面应用程序,可以下载服务器上的所有文件。添加新文件时,我只想下载较新的文件。要知道哪一个是“新文件”,您必须创建一个地图/或其他数据结构,并放置一对名称/元数据creationtime(或上次修改时间),哪一个最适合您,当您迭代文件时,只需使用 Path file = ...; BasicFileAttributes attr = Files.readAttributes(file, BasicFileAttributes.class); attr.creationTime();

我有一个桌面应用程序,可以下载服务器上的所有文件。添加新文件时,我只想下载较新的文件。

要知道哪一个是“新文件”,您必须创建一个地图/或其他数据结构,并放置一对名称/元数据creationtime(或上次修改时间),哪一个最适合您,当您迭代文件时,只需使用

Path file = ...;
BasicFileAttributes attr = Files.readAttributes(file, BasicFileAttributes.class);

 attr.creationTime(); //or attr.lastModifiedTime(); 
当您将这些时间与服务器上的时间进行比较时,请决定只下载具有最新时间的时间

无论哪种方式,您都必须至少记录在以前的下载中修改(或创建)的名称/时间,并进行比较

如果桌面上的此应用程序不是某种不间断运行的服务,请找到某种方法将该数据持久化到系统上、序列化或在其中嵌入数据库h2/hsqldb。如果使用java8,请使用conncurent iteration/parralelStream的streams检查这些时间并进行比较


编辑-要从url获取元数据,请检查这个问题,以了解哪一个是“新的”,您必须创建一个映射/或其他数据结构,并放置一对名称/元数据creationtime(或上次修改时间),当您迭代文件时,只需查看它们的元数据即可

Path file = ...;
BasicFileAttributes attr = Files.readAttributes(file, BasicFileAttributes.class);

 attr.creationTime(); //or attr.lastModifiedTime(); 
当您将这些时间与服务器上的时间进行比较时,请决定只下载具有最新时间的时间

无论哪种方式,您都必须至少记录在以前的下载中修改(或创建)的名称/时间,并进行比较

如果桌面上的此应用程序不是某种不间断运行的服务,请找到某种方法将该数据持久化到系统上、序列化或在其中嵌入数据库h2/hsqldb。如果使用java8,请使用conncurent iteration/parralelStream的streams检查这些时间并进行比较

编辑-要从url获取元数据,请选中此问题