加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

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

发布时间:2020-12-14 23:28:04 所属栏目:Java 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 //java按文件大

以下代码由PHP站长网 52php.cn收集自互联网

现在PHP站长网小编把它分享给大家,仅供参考

    //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");  
          }  
    }  

以上内容由PHP站长网【52php.cn】收集整理供大家参考研究

如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读