gpt4 book ai didi

java - 如何使用 Java 从目录中获取最后修改的 10 个文件?

转载 作者:搜寻专家 更新时间:2023-11-01 01:38:22 25 4
gpt4 key购买 nike

我是初学者,我发现了一个关于 java 中 lastmodified 文件的旧线程。我想要的是从一个目录中只获取 10 个最近的文件并将它们移动到另一个目录。

此论坛中的代码运行良好,但它从目录中获取所有文件并按日期对它们进行排序。

任何帮助将不胜感激,谢谢

代码如下:

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


public class Newest {
public static void main(String[] args) {
File dir = new File("C:\\your\\dir");
File [] files = dir.listFiles();
Arrays.sort(files, new Comparator(){
public int compare(Object o1, Object o2) {
return compare( (File)o1, (File)o2);
}
private int compare( File f1, File f2){
long result = f2.lastModified() - f1.lastModified();
if( result > 0 ){
return 1;
} else if( result < 0 ){
return -1;
} else {
return 0;
}
}
});
System.out.println( Arrays.asList(files ));
}
}

我是初学者,如果在使用论坛时犯了一些错误,我深表歉意。

所以对我来说,我不知道如何在新代码中插入以上内容。

如果我保留第一个代码,我想将 10 个最近的文件存储到另一个文件夹中,我尝试了这个,但它会将所有文件放在目录中。

请帮忙

谢谢

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




public class Newest
{
public static void main(String[] args)
{
File dir = new File("c:\\File");
File[] files = dir.listFiles();
Arrays.sort(files, new Comparator<File>()
{
public int compare(File f1, File f2)
{
return Long.valueOf(f2.lastModified()).compareTo
(
f1.lastModified());
}
});
//System.out.println(Arrays.asList(files));
for(int i=0, length=Math.min(files.length, 12); i<length; i++) {
System.out.println(files[i]);


for (File f : files) {
System.out.println(f.getName() + " " + sdf.format(new Date(f.lastModified())));
File dir = new File("c://Target");
boolean success = f.renameTo(new File(dir,f.getName()));
if (!success)


}
}
}

最佳答案

在您的代码示例中,更改:

System.out.println( Arrays.asList(files ));

到:

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

关于java - 如何使用 Java 从目录中获取最后修改的 10 个文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5005965/

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