java按文件大小、名称、日期排序方法详解编程语言

    //java按文件大小、名称、日期排序   
        
        
    //java按文件大小、名称、日期排序方法   
    import java.io.*;   
    import java.util.*;   
     public class FileOrder{   
    //按照文件大小排序     
    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()));   
          }   
      }   
       public static void main(String args[]){   
          // orderByLength("c:/java");   
          // orderByName("c:/java");   
          orderByDate("c:/java");   
          }   
    }  

原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/10724.html

(0)
上一篇 2021年7月19日 10:23
下一篇 2021年7月19日 10:27

相关推荐

发表回复

登录后才能评论