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

时间:2016-03-17 10:54:34

标签: java ftp

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

1 个答案:

答案 0 :(得分:0)

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

查看其元数据
Path file = ...;
BasicFileAttributes attr = Files.readAttributes(file, BasicFileAttributes.class);

 attr.creationTime(); //or attr.lastModifiedTime(); 

当您将这些时间与服务器上的时间进行比较时,决定只下载最新时间的那个。

无论哪种方式,您都必须至少跟踪之前下载时修改(或创建)的名称/时间并进行比较。

如果桌面上的这个应用程序不是某种运行不间断的服务,请找一些方法在系统,序列化或嵌入数据库h2 / hsqldb中保存该数据。使用conncurent iteration / parralelStream来检查这些时间并比较,如果你使用java8

编辑 - 从网址获取元数据,请检查此问题Get the Last Modified date of an URL