gpt4 book ai didi

java : Sort Files based on Creation Date

转载 作者:行者123 更新时间:2023-11-30 06:30:44 24 4
gpt4 key购买 nike

我正在尝试根据创建日期读取最新的 10 个文件。

我试过这段代码,但它不起作用,我的意思是,当我添加新文件时,它不会在输出中显示新文件名。

import java.io.File;
import java.util.Arrays;
import java.util.Comparator;

public class Main {
public static void main(String[] args) {
File inboxDir = new File("D:\\SPOTO");
File[] files = inboxDir.listFiles();
Arrays.sort( files, new Comparator()
{
public int compare(Object o1, Object o2) {
return new Long(((File)o1).lastModified()).compareTo(new Long(((File) o2).lastModified()));
}

});


for(int i=0;i<10;i++)
{
System.out.println(files[i].getName());
}


}
}

我什至尝试过使用 apache commons io,但这也不起作用(意味着在该目录中创建新文件时不显示新文件)

这是我的 Apache commons io 版本

import org.apache.commons.io.comparator.LastModifiedFileComparator;

import java.io.File;
import java.util.Arrays;

public class Main {
public static void main(String[] args) {
File dir = new File("c:\\");
File[] files = dir.listFiles();

Arrays.sort(files, LastModifiedFileComparator.LASTMODIFIED_COMPARATOR);
for (int i = 0; i < files.length; i++) {
File file = files[i];
System.out.printf("File %s - %2$tm %2$te,%2$tY%n= ", file.getName(),
file.lastModified());
}

Arrays.sort(files, LastModifiedFileComparator.LASTMODIFIED_REVERSE);
for (int i = 0; i < files.length; i++) {
File file = files[i];
System.out.printf("File %s - %2$tm %2$te,%2$tY%n= ", file.getName(),
file.lastModified());
}
}
}

最佳答案

尝试翻转比较顺序:

return new Long(((File)o2).lastModified()).compareTo(new Long(((File) o1).lastModified()));

这适用于我刚刚在本地进行的测试。

关于java : Sort Files based on Creation Date,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10249822/

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