• file.listFiles()按文件大小、名称、日期排序方法


    原文地址:http://blog.csdn.net/dezhihuang/article/details/53287602

    按照文件大小排序

    public static void orderByLength(String fliePath) {
        List<File> files = Arrays.asList(new File(fliePath).listFiles());
        Collections.sort(files, new Comparator<File>() {
            public int compare(File f1, File f2) {
                long diff = f1.length() - f2.length();
                if (diff > 0)
                    return 1;
                else if (diff == 0)
                    return 0;
                else
                    return -1;
            }
    
            public boolean equals(Object obj) {
                return true;
            }
        });
        for (File f : files) {
            if (f.isDirectory()) continue;
            System.out.println(f.getName() + ":" + f.length());
        }
    }

    按照文件名称排序

    public static void orderByName(String fliePath) {
        List files = Arrays.asList(new File(fliePath).listFiles());
        Collections.sort(files, new Comparator<File>() {
            @Override
            public int compare(File o1, File o2) {
                if (o1.isDirectory() && o2.isFile())
                    return -1;
                if (o1.isFile() && o2.isDirectory())
                    return 1;
                return o1.getName().compareTo(o2.getName());
            }
        });
        for (File f : files) {
            System.out.println(f.getName());
        }
    }    

    按照日期排序

    public static void orderByDate(String fliePath) {
        File file = new File(fliePath);
        File[] fs = file.listFiles();
        Arrays.sort(fs, new 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;
            }
    
            public boolean equals(Object obj) {
                return true;
            }
    
        });
        for (int i = fs.length - 1; i > -1; i--) {
            System.out.println(fs[i].getName());
            System.out.println(new Date(fs[i].lastModified()));
        }
    }
  • 相关阅读:
    腾讯2面
    腾讯1面
    快手2面
    快手1面
    formData+ajax文件上传
    nginx限流&健康检查
    jvm crash分析
    Spring Cloud Gateway整合Eureka
    k8s-应用部署
    dockerfile-maven plugin自动镜像制作并发布
  • 原文地址:https://www.cnblogs.com/anni-qianqian/p/6542128.html
Copyright © 2020-2023  润新知