阅读 225

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

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

按照文件大小排序

复制代码

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()));
      }
  }

复制代码


文章分类
后端
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐