求问Java在扫描文件的时候,需要保留最新的10条, 但是怎么同时开启一个线程来删除其余的文件啊
package foo;
import java.io.File;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Comparator;
import java.util.List;
public class Demo {
public static void main(String[] args) {
try {
String path = "C:/Users/Administrator/Desktop/video/QXHDA012";
File file = new File(path);
File[] tempList = file.listFiles();
// 先对文件进行排序
Arrays.sort(tempList,
new Demo.CompratorByLastModified());
List<String> list = new ArrayList<String>();
for (int i = 0; i < tempList.length; i++) {
String fnameString = tempList[i] + "";
String fileName = fnameString.substring(fnameString
.lastIndexOf("\\") + 1);
// System.out.println("排序后"+fileName);
//把最新的5个放入集合中
if (i <= 4) {
list.add(fileName);
}
//留下最新的10个文件 其余全部删除
if (i > 9) {
File file2 = new File(fnameString);
file2.delete();
}
}
System.out.println(list);
} catch (Exception e) {
}
}
// 创建一个排序的方法
static class CompratorByLastModified implements Comparator<File> {
public int compare(File f1, File f2) {
long diff = f1.lastModified() - f2.lastModified();
if (diff > 0) {
return -1;
} else if (diff == 0) {
return 0;
} else {
return 1;
}
}
}
}
上面是这个demo 这样可以删除 但是我不知道怎么开启多线程来删除 求大神帮帮忙