java - 需要使用java文件读取概念找出具有今天修改日期的特定文件

标签 java

一个文件夹中有多个文件。如何仅获取仅在今天日期修改的特定文件(带有修改日期和时间的文件名)?

最佳答案

public static void main(String[] args) {
    long now = new Date().getTime();
    long todayMidnightTS = midnightTimeStamp(now);
    //Mind the path used to list children... And also, you may want to retain only child files if that's required.
    List<File> filesModifiedToday = Arrays.asList(new File(".").list()).stream().map(fileName -> new File(fileName)).filter(file -> todayMidnightTS == midnightTimeStamp(file.getCanonicalFile().lastModified())).collect(Collectors.toList());
}
//Returns the timestamp at midnight of the given date time stamp.
//If you use commons-lang, you could call DateUtils.trunc
static long midnightTimeStamp(long dateTS) {
    return dateTS - (dateTS % (24 * 60 * 60000));
}

关于java - 需要使用java文件读取概念找出具有今天修改日期的特定文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35504729/

相关文章:

Java : Operator Precedence when methods are involved

java - if 和 else 语句 Java 试图停止一条语句

java - 循环测验,Java

java - 如何更改文本文件的分隔符?

Java XStream 无法在 Ubuntu 上解决

java - XMLStreamWriter writeCharacters 无需转义

java - 安卓。亮度变化

java - 对于类型 Client 未定义方法 Registration(String, String, String, String)

java - Eclipse 崩溃并显示引用计数错误消息 cairo_surface_destroy

java - 检查数学函数是否有效