使用年龄文件过滤器读取特定日期文件



如何使用AgeFileFilter读取特定的日期文件? 我在属性文件中声明特定日期。 我试图这样做

FileFilter fileFilter = new AgeFileFilter(cutoffDate, false);  

它给了我较新的文件

FileFilter fileFilter = new AgeFileFilter(cutoffDate, true);  

它给了我更长的相同日期文件

但是它们都没有按照我的要求工作,那么我也尝试了

FileFilter fileFilter = new AgeFileFilter(long cutoffDate);  

但它给了我具有相同日期文件的旧文件
,我的要求是仅读取或显示特定的日期文件。
那怎么可能呢? 任何帮助将不胜感激。提前谢谢你

AgeFileFilter仅过滤截止日期时间实例之前或之后的文件。

请记住,cutOffDate参数是以毫秒为单位的 unix 日期时间 您是否知道毫秒的确切日期和时间并将其保存在您的属性文件中?

如果是(不太可能(,你为什么不简单地写你自己的FileFilter?它只是一个方法,使用 Java 8,您可以像这样轻松编写它:

long cutOffDate = 1536584743813L;
FileFilter fileFilter = file -> file.lastModified() == cutOffDate;

我怀疑这不太可能是你想要的。您是否仅从属性文件中加载日期(没有时间(?

然后,您可能希望从上次修改的时间戳中获取文件的日期。

以下内容仅接受今天修改的文件。您可以从属性文件加载任何LocalDate,而不是today

LocalDate today = LocalDate.now();
FileFilter fileFilter = file -> LocalDate.from(Instant.ofEpochMilli(file.lastModified())).isEqual(today);

最新更新