java按文件大小、名稱、日期排序方法

jopen 9年前發布 | 1K 次閱讀 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");  
      }  
}  </pre> 


 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!