/*
* 删除文件夹里面不相同的文件
*/
public class FilesDel {
public static void main(String[] args) {
String fi = "F:\\test\\f11"; //目标文件路径 ,就是那个
String fo1 = "F:\\test\\f12"; //需要删除文件的文件路径1
String fo2 = "F:\\test\\f13"; //需要删除文件的文件路径2
int num = 4; // 从后面的点(.)往前数的第几个数字 (如:00_ds_fs_dd.jgp 则num填写为11)
DelFile(fi,fo1,fo2,num);
}
public static void DelFile(String fi,String fo1,String fo2,int num){
File f1 = new File(fi);
File f2 = new File(fo1);
File f3 = new File(fo2);
File[] files1 = f1.listFiles();
File[] files2 = f2.listFiles();
File[] files3 = f3.listFiles();
System.out.println("length:" + files1.length);
List<String>list1 = new ArrayList<>();
for (int i = 0; i < files1.length; i++) { // path1:F:\test\f11\1237.txt
String path1 = files1[i].getPath();
System.out.println(path1);
String strPath1 = path1.substring(path1.lastIndexOf(".txt")-num);
System.out.println(strPath1);
list1.add(strPath1);
}
System.out.println("================================");
for (int j = 0; j < files2.length; j++) { // path1:F:\test\f11\1237.txt
String path2 = files2[j].getPath(); //这里可以拿到绝对路劲
String strPath2 = path2.substring(path2.lastIndexOf(".txt")-num);
if(!list1.contains(strPath2)){
files2[j].delete();
System.out.println(files2[j].getPath());
}
}
for (int k = 0; k < files3.length; k++) { // path1:F:\test\f11\1237.txt
String path3 = files3[k].getPath();
String strPath3 = path3.substring(path3.lastIndexOf(".txt")-num);
if(!list1.contains(strPath3)){
files3[k].delete();
System.out.println("kk"+(files2[k].getPath()));
}
}
}
}
一个删除文件夹里面多于的文件(平时学习写着玩的。。)
最新推荐文章于 2022-03-30 18:25:45 发布