代码

作者: 小宇哥2017 | 来源:发表于2018-06-30 20:16 被阅读0次

    import java.nio.file.Files;

    import java.nio.file.Path;

    import java.nio.file.Paths;

    import java.util.ArrayList;

    import java.util.Collections;

    import java.util.Comparator;

    import java.util.List;

    import java.util.stream.Stream;

    /**

    * Created by maoyu on 18/6/29.

    */

    public class DeleteFilesInDir {

    private static int totleDeleteFiles =0;

    public static void main(String[] args) {

    Path rootPath = Paths.get("/Users/maoyu/Movies/aaaa");

    dealWithThePath(rootPath);

    System.out.println("finish delete, total delete files:" +totleDeleteFiles);

    }

    private static void dealWithThePath(Path path) {

    boolean thisLevelHasDir =false;

    boolean thisLevelHasJpg =false;

    try {

    Object[] objects = Files.list(path).toArray();

    for (Object obj : objects) {

    Path subPath = (Path)obj;

    if (subPath.toString().endsWith(".jpg")) {

    thisLevelHasJpg =true;

    continue;

    }

    boolean isDirectory = Files.isDirectory(subPath);

    if (isDirectory) {

    thisLevelHasDir =true;

    dealWithThePath(subPath);

    }

    }

    // 只有这一层里面没有目录文件,并且存在jpg结尾的图片,说明这个目录里要处理

                if (!thisLevelHasDir && thisLevelHasJpg) {

    List list =new ArrayList<>();

    for (Object obj : objects) {

    list.add(obj.toString());

    }

    Collections.sort(list,new Comparator() {

    @Override

                        public int compare(String o1, String o2) {

    if (o1.compareTo(o2)>0)return 1;

    else return -1;

    }

    });

    int k=0;

    for (String str : list) {

    k++;

    if (k>3)break;

    Path deletePath = Paths.get(str);

    Files.delete(deletePath);

    totleDeleteFiles++;

    }

    }

    }catch(Exception e)  {

    e.printStackTrace();

    }

    }

    }

    相关文章

      网友评论

          本文标题:代码

          本文链接:https://www.haomeiwen.com/subject/ahrvtxtx.html