java实现遍历文件目录,根据文件最后的修改时间排序,并将文件全路径存入List集合...

package com.ultra.aliyun.control.main; import java.io.File; import java.util.ArrayList; import java.util.Arrays; import java.util.Comparator; import java.util.List; import org.apache.log4j.Logger; public class FileTest {         // 打印日志     private static Logger logger = Logger.getLogger(FileTest.class);          public static void main(String[] args) {                  // 定义list,用于存储数据文件的全路径         List<String> filelist = new ArrayList<String>();         String dataFileTempDir = "D:\\test";         // 得到返回文件全路径的list集合         List<String> list = getFiles(dataFileTempDir, filelist);         String dataFileTempPath = null;         for (int i = 0; i < list.size(); i++) {             // 数据文件在临时区的路径             dataFileTempPath = list.get(i);             System.out.println(i+"dataFileTempPath:"+dataFileTempPath);         }                }          /**      * 通过递归得到某一路径下所有的文件的全路径,分装到list里面      *       * @param filePath      * @param filelist      * @return      */     public static List<String> getFiles(String filePath, List<String> filelist) {         File root = new File(filePath);         if (!root.exists()) {             logger.info(filePath + " not exist!");         } else {             File[] files = root.listFiles();             Arrays.sort(files, new FileTest.CompratorByLastModified());               for (File file : files) {                 if (file.isDirectory()) {                     getFiles(file.getAbsolutePath(), filelist);                 } else {                     //logger.info("目录:" + filePath + "文件全路径:" + file.getAbsolutePath());                     filelist.add(file.getAbsolutePath());                 }             }         }         return filelist;     }           //根据文件修改时间进行比较的内部类     static class CompratorByLastModified implements 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;               }           }       }   }

转载于:https://www.cnblogs.com/dauber/p/9466518.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值